Compartir a través de


ReuseWhere (Función)

La cláusula WHERE de una consulta especifica un conjunto de elementos para que coincidan con 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 siguiente consulta:

    SELECT System.ItemName FROM SystemIndex 
    WHERE CONTAINS(*, 'pencil') AND System.ItemDate > '2007-3-5'
    
  2. En el conjunto de filas devuelto, se obtiene 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 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 la cláusula WHERE .

Referencia

Cláusula WHERE

Propiedades del conjunto de filas