shwin commented on issue #10986:
URL: https://github.com/apache/pinot/issues/10986#issuecomment-1617292660

   @Jackie-Jiang yep! My latest table returns _3_ segments for the `>=/<` query 
and _2_ for the `=` query. The table has 3000 segments overall.
   
   For the >=/< query:
   ```
   "exceptions": [],
     "numServersQueried": 2,
     "numServersResponded": 2,
     "numSegmentsQueried": 3000,
     "numSegmentsProcessed": 3000,
     "numSegmentsMatched": 3,
     "numConsumingSegmentsQueried": 0,
     "numConsumingSegmentsProcessed": 0,
     "numConsumingSegmentsMatched": 0,
     "numDocsScanned": 3110482,
     "numEntriesScannedInFilter": 0,
     "numEntriesScannedPostFilter": 6220964,
     "numGroupsLimitReached": false,
     "totalDocs": 3994721240,
     "timeUsedMs": 44,
     "offlineThreadCpuTimeNs": 0,
     "realtimeThreadCpuTimeNs": 0,
     "offlineSystemActivitiesCpuTimeNs": 0,
     "realtimeSystemActivitiesCpuTimeNs": 0,
     "offlineResponseSerializationCpuTimeNs": 0,
     "realtimeResponseSerializationCpuTimeNs": 0,
     "offlineTotalCpuTimeNs": 0,
     "realtimeTotalCpuTimeNs": 0,
     "segmentStatistics": [],
     "traceInfo": {},
     "minConsumingFreshnessTimeMs": 0,
     "numSegmentsPrunedByBroker": 0,
     "numSegmentsPrunedByServer": 0,
     "numSegmentsPrunedInvalid": 0,
     "numSegmentsPrunedByLimit": 0,
     "numSegmentsPrunedByValue": 0,
     "explainPlanNumEmptyFilterSegments": 0,
     "explainPlanNumMatchAllFilterSegments": 0,
     "numRowsResultSet": 3
   ```
   
   So specfically:
   ```
     "numSegmentsProcessed": 3000,
     "numSegmentsMatched": 3,
   ```
   
   
   For the `=` query:
   ```
   "numServersQueried": 2,
     "numServersResponded": 2,
     "numSegmentsQueried": 3000,
     "numSegmentsProcessed": 3000,
     "numSegmentsMatched": 2,
     "numConsumingSegmentsQueried": 0,
     "numConsumingSegmentsProcessed": 0,
     "numConsumingSegmentsMatched": 0,
     "numDocsScanned": 2287773,
     "numEntriesScannedInFilter": 0,
     "numEntriesScannedPostFilter": 4575546,
     "numGroupsLimitReached": false,
     "totalDocs": 3994721240,
     "timeUsedMs": 561,
     "offlineThreadCpuTimeNs": 0,
     "realtimeThreadCpuTimeNs": 0,
     "offlineSystemActivitiesCpuTimeNs": 0,
     "realtimeSystemActivitiesCpuTimeNs": 0,
     "offlineResponseSerializationCpuTimeNs": 0,
     "realtimeResponseSerializationCpuTimeNs": 0,
     "offlineTotalCpuTimeNs": 0,
     "realtimeTotalCpuTimeNs": 0,
     "segmentStatistics": [],
     "traceInfo": {},
     "minConsumingFreshnessTimeMs": 0,
     "numSegmentsPrunedByBroker": 0,
     "numSegmentsPrunedByServer": 0,
     "numSegmentsPrunedInvalid": 0,
     "numSegmentsPrunedByLimit": 0,
     "numSegmentsPrunedByValue": 0,
     "explainPlanNumEmptyFilterSegments": 0,
     "explainPlanNumMatchAllFilterSegments": 0,
     "numRowsResultSet": 2
   ```
   
   So specifically:
   ```
     "numSegmentsProcessed": 3000,
     "numSegmentsMatched": 2,
   ```
   
   
   In both cases I'm a little surprised we're processing all 3000 segments, I 
guess because we're querying the generated timestamp$DAY columns instead of 
just the main timestamp column? If I do a between query on just my timestamp 
column (eg `blocktimestamp >= something AND blockTimestamp < something` I get 3 
segments processed.
   
   So, in any case, I guess it's not the pruning here since the 
`numSegmentsProcessed` is identical in both queries.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to