ReuseWhere 函数
查询中的 WHERE 子句指定要匹配结果的一组项。 后续查询可以通过在新查询 WHERE 子句中使用 ReuseWhere 函数来共享为上一个查询执行的工作。 利用此函数的查询执行速度更快。
示例
以下方案演示如何使用 ReuseWhere 函数:
发出以下查询:
SELECT System.ItemName FROM SystemIndex WHERE CONTAINS(*, 'pencil') AND System.ItemDate > '2007-3-5'
从返回的行集中,获取 Where ID,Query1WhereID。
Where ID 是 PROPSET {aa6ee6b0-e828-11d0-b2-3e-00-aa-00-47-fc-01 }、PROPID 8 和类型 UI4 的行集属性。
使用 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 函数。
相关主题