You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@iotdb.apache.org by "Jialin Qiao (Jira)" <ji...@apache.org> on 2020/02/02 11:22:01 UTC

[jira] [Closed] (IOTDB-6) IoTDB query optimization

     [ https://issues.apache.org/jira/browse/IOTDB-6?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jialin Qiao closed IOTDB-6.
---------------------------
    Resolution: Cannot Reproduce

> IoTDB query optimization 
> -------------------------
>
>                 Key: IOTDB-6
>                 URL: https://issues.apache.org/jira/browse/IOTDB-6
>             Project: Apache IoTDB
>          Issue Type: Improvement
>            Reporter: Gaofei Cao
>            Assignee: Gaofei Cao
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Some query optimizations to complete.
>  
> h1. Improve the performance of query with value filter.
> 1) Replace the method ```*TsPrimitiveType getValueInTimestamp(long timestamp) throws IOException;*``` in class ```
> *EngineReaderByTimeStamp*``` with ```*Object getValueInTimestamp(long timestamp) throws IOException;*```.
> Construct the TsPrimitiveType will consume more time than Object.
> 2) Push the implementation of ReaderByTimestamp to lower level. Currently we only use the interface ```*EngineReaderByTimeStamp*``` to complete the query with filter. But the subclasses of ```*EngineReaderByTimeStamp*``` are never used.
> We can use the given common timestamp calculated by value filter to filter some data. e.g. the common time is [10, 20, 100], but the page data of projection series is [1,2,3,4,5], in this situation, this page can be skipped and no need to be deserialized.
> 3) Implement the optimization method which is used in TsFile.
> see ```*org.apache.iotdb.tsfile.read.query.timegenerator.TimeGeneratorImpl*``` and ```*org.apache.iotdb.tsfile.read.query.executor.ExecutorWithTimeGenerator*```
>  
>  
> h1. Replace the single point next logic with batch data load.
> 1) The subclass of
> ```*org.apache.iotdb.db.query.reader.IReader``* has not implemented these methods
> ```
> *boolean hasNextBatch();*
>  *BatchData nextBatch();*
>  *BatchData currentBatch();*
> ```
> these methods can speed up query effiency a lot.
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)