Função ReuseWhere
A cláusula WHERE em uma consulta especifica um conjunto de itens com os quais corresponder os resultados. As consultas subsequentes podem compartilhar o trabalho executado para uma consulta anterior usando a função ReuseWhere em uma nova cláusula WHERE de consulta. As consultas que aproveitam essa função são executadas mais rapidamente.
Exemplos
O cenário a seguir mostra como usar a função ReuseWhere:
Você emite a seguinte consulta:
SELECT System.ItemName FROM SystemIndex WHERE CONTAINS(*, 'pencil') AND System.ItemDate > '2007-3-5'
No conjunto de linhas retornado, você obtém uma ID Where, Query1WhereID.
A ID where é uma propriedade de conjunto de linhas com PROPSET {aa6ee6b0-e828-11d0-b2-3e-00-aa-00-47-fc-01 }, PROPID 8 e digite UI4.
Você emite uma segunda consulta com a função ReuseWhere, passando o Query1WhereID da etapa 2:
SELECT System.ItemUrl FROM SystemIndex WHERE ReuseWhere(Query1WhereID) AND SCOPE='file:'
A segunda consulta é equivalente ao seguinte:
SELECT System.ItemUrl, System.ItemName FROM SystemIndex
WHERE CONTAINS(*, 'pencil') AND System.ItemDate > '2007-3-5' AND Scope='file:'
A função ReuseWhere pode ser usada em um local na cláusula WHERE .
Tópicos relacionados
-
Referência