Функция ReuseWhere
Предложение WHERE в запросе указывает набор элементов для сопоставления результатов. Последующие запросы могут совместно использовать работу, выполненную для предыдущего запроса, с помощью функции ReuseWhere в новом предложении WHERE запроса. Запросы, использующие эту функцию, выполняются быстрее.
Примеры
В следующем сценарии показано, как использовать функцию ReuseWhere:
Вы выполните следующий запрос:
SELECT System.ItemName FROM SystemIndex WHERE CONTAINS(*, 'pencil') AND System.ItemDate > '2007-3-5'
Из возвращенного набора строк вы получите идентификатор Where, Query1WhereID.
Идентификатор Where — это свойство набора строк с PROPSET {aa6ee6b0-e828-11d0-b2-3e-00-aa-00-47-fc-01 }, PROPID 8 и типом UI4.
Вы выполняете второй запрос с функцией ReuseWhere, передавая Query1WhereID из шага 2:
SELECT System.ItemUrl FROM SystemIndex WHERE ReuseWhere(Query1WhereID) AND SCOPE='file:'
Второй запрос эквивалентен следующему:
SELECT System.ItemUrl, System.ItemName FROM SystemIndex
WHERE CONTAINS(*, 'pencil') AND System.ItemDate > '2007-3-5' AND Scope='file:'
Функцию ReuseWhere можно использовать в предложении WHERE .
Связанные темы
-
Reference