About Pushdown and Query Service

Hi. I have a question about the pushdown.

As far as I know, due to pushdown, the indexer filters first and delivers the data to the query engine.

What kind of filtering does the query service perform as shown in this picture refer to?

I’ll be waiting for your answer.

Thank you.

Query predicate is transformed index spans (check EXPLAIN) based on index keys. index spans are ranges (Page 135 https://blog.couchbase.com/wp-content/uploads/2017/10/N1QL-A-Practical-Guide-2nd-Edition.pdf) . From index spans are generated such that no false negatives possible. But false positives are ok.
After Fetch whole WHERE clause applied (this eliminates false positives and the keys that not part of the index.

CREATE INDEX ix1 ON default(a);
SELECT * FROM default WHERE a > 10 AND b < 20;
a> 10 only pushed to index because index only know about a. b < 20 applied after Fetch as Filter.

Do Explain check Operator one above items in picture.

1 Like

Hi. Thank you for your quick response.

The filtering of that picture is the process of filtering what the indexer couldn’t push because it couldn’t filtering.
That’s right?

I can understand. Thank you very much.

Have a good day.