ReuseWhere 関数

クエリの WHERE 句は、結果に一致する項目のセットを指定します。 後続のクエリでは、新しいクエリ WHERE 句で ReuseWhere 関数を使用して、前のクエリに対して実行された作業を共有できます。 この関数を利用するクエリの実行速度が速くなります。

次のシナリオは、ReuseWhere 関数を使用する方法を示しています。

  1. 次のクエリを発行します。

    SELECT System.ItemName FROM SystemIndex 
    WHERE CONTAINS(*, 'pencil') AND System.ItemDate > '2007-3-5'
    
  2. 返された行セットから、 Where IDQuery1WhereID を取得します。

    Where ID は、PROPSET {aa6ee6b0-e828-11d0-b2-3e-00-aa-00-47-fc-01 }、PROPID 8、UI4 と入力した行セット プロパティです。

  3. ReuseWhere 関数で 2 つ目のクエリを発行し、手順 2 の Query1WhereID を 渡します。

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

2 番目のクエリは、次のクエリと同じです。

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

ReuseWhere 関数は、 WHERE 句の任意の場所で使用できます。

リファレンス

WHERE 句

行セット プロパティ