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 传入 Query1WhereID

    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:'

可以在 WHERE 子句中的任意位置使用 ReuseWhere 函数。

参考

WHERE 子句

行集属性