De functie ReuseWhere

De WHERE component in een query geeft een set items op waarop resultaten moeten worden vergeleken. Volgende query's kunnen het werk dat is uitgevoerd voor een vorige query delen met behulp van de functie ReuseWhere in een nieuwe where-component voor query's. Query's die profiteren van deze functie, worden sneller uitgevoerd.

Voorbeelden

In het volgende scenario ziet u hoe u de functie ReuseWhere gebruikt:

  1. U geeft de volgende query uit:

    SELECT System.ItemName FROM SystemIndex 
    WHERE CONTAINS(*, 'pencil') AND System.ItemDate > '2007-3-5'
    
  2. In de geretourneerde rijenset krijgt u een Where ID, Query1WhereID.

    De where-id is een rijseteigenschap met PROPSET {aa6ee6b0-e828-11d0-b2-3e-00-aa-00-47-fc-01 }, PROPID 8 en type UI4.

  3. U geeft een tweede query uit met de functie ReuseWhere, waarbij u de Query1WhereID- van stap 2 doorgeeft:

    SELECT System.ItemUrl FROM SystemIndex 
    WHERE ReuseWhere(Query1WhereID) AND SCOPE='file:'
    

De tweede query is gelijk aan het volgende:

SELECT System.ItemUrl, System.ItemName FROM SystemIndex 
WHERE CONTAINS(*, 'pencil') AND System.ItemDate > '2007-3-5' AND Scope='file:'

De functie ReuseWhere kan overal in de WHERE-component worden gebruikt.

WHERE-component

eigenschappen van rijsets