[
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)