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