ReuseWhere 函数

查询中的 WHERE 子句指定要匹配结果的一组项。 后续查询可以通过在新查询 WHERE 子句中使用 ReuseWhere 函数来共享为上一个查询执行的工作。 利用此函数的查询执行速度更快。

示例

以下方案演示如何使用 ReuseWhere 函数:

  1. 发出以下查询:

    SELECT System.ItemName FROM SystemIndex 
    WHERE CONTAINS(*, 'pencil') AND System.ItemDate > '2007-3-5'
    
  2. 从返回的行集中,获取 Where ID,Query1WhereID

    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 子句

行集属性