A query uses a primary property index to retrieve those rows that potentially match the search conditions of the query. The phrase row filtering refers to the work that is required to determine whether a retrieved row matches all search conditions.
SELECT Id
FROM Document
WHERE Property1 = 'value1'
AND Property2 = 'value2'
Because the query uses the Property1 index
to retrieve the rows, the Property1 = 'value1' condition
is always true for each retrieved row. Row filtering is the checking
that must be performed to determine whether the Property2
= 'value2' condition is also true.Row filtering can slow query performance because of the disk activity that is required to switch back and forth between index data and table data. In the previous example, the query switches back and forth between the index data for Property1 and the table data for Property2.