ReuseWhere-Funktion

Die WHERE-Klausel in einer Abfrage gibt einen Satz von Elementen an, mit denen ergebnisse abgeglichen werden sollen. Nachfolgende Abfragen können die Für eine frühere Abfrage ausgeführte Arbeit freigeben, indem sie die ReuseWhere-Funktion in einer neuen WHERE-Klausel für Abfragen verwenden. Abfragen, die diese Funktion nutzen, werden schneller ausgeführt.

Beispiele

Das folgende Szenario zeigt die Verwendung der ReuseWhere-Funktion:

  1. Sie stellen die folgende Abfrage aus:

    SELECT System.ItemName FROM SystemIndex 
    WHERE CONTAINS(*, 'pencil') AND System.ItemDate > '2007-3-5'
    
  2. Aus dem zurückgegebenen Rowset erhalten Sie die Where-IDQuery1WhereID.

    Die Where-ID ist eine Rowseteigenschaft mit PROPSET {aa6ee6b0-e828-11d0-b2-3e-00-aa-00-47-fc-01 }, PROPID 8 und typ UI4.

  3. Sie stellen eine zweite Abfrage mit der ReuseWhere-Funktion aus und übergeben die Query1WhereID aus Schritt 2:

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

Die zweite Abfrage entspricht folgendem:

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

Die ReuseWhere-Funktion kann an einer beliebigen Stelle in der WHERE-Klausel verwendet werden.

Referenz

WHERE-Klausel

Rowset-Eigenschaften