Compartir a través de


ReuseWhere (función)

La cláusula WHERE de una consulta especifica un conjunto de elementos con los que hacer coincidir los resultados. Las consultas posteriores pueden compartir el trabajo realizado para una consulta anterior mediante la función ReuseWhere en una nueva cláusula WHERE de consulta. Las consultas que aprovechan esta función se ejecutan más rápido.

Ejemplos

En el escenario siguiente se muestra cómo usar la función ReuseWhere:

  1. Emita la consulta siguiente:

    SELECT System.ItemName FROM SystemIndex 
    WHERE CONTAINS(*, 'pencil') AND System.ItemDate > '2007-3-5'
    
  2. En el conjunto de filas devuelto, obtendrá un Where ID, Query1WhereID.

    Where ID es una propiedad de conjunto de filas con PROPSET {aa6ee6b0-e828-11d0-b2-3e-00-aa-00-47-fc-01 }, PROPID 8 y type UI4.

  3. Se emite una segunda consulta con la función ReuseWhere, pasando el Query1WhereID del paso 2:

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

La segunda consulta es equivalente a lo siguiente:

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

La función ReuseWhere se puede usar en cualquier lugar de la cláusula WHERE .

de referencia de

cláusula WHERE

propiedades del conjunto de filas de