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)