Ver Mensaje Individual
  #7 (permalink)  
Antiguo 28/08/2013, 13:08
GeriReshef
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Respuesta: Alternativa para EXCEPT o WITH [SQL-SERVER 2008]

Tu puedes imitar el Except con un Left Join o Where Not Exists o aun Where .. No In,
pero el rendimiento sera lo mismo.
En estos casos el sistema puede aprovechar los Indexes (espero que el Primary Key es tambien el Clustered Index) solo parcialmente porque debe comparar todas las columnas.

El With no tiene nada que ver con el rendimiento. Puedes escribir el Except simplemente:
Código SQL:
Ver original
  1. SELECT * FROM T1
  2. EXCEPT
  3. SELECT * FROM T2;
o con With:
Código SQL:
Ver original
  1. WITH CTE AS
  2. (SELECT * FROM T1
  3. EXCEPT
  4. SELECT * FROM T2)
  5. SELECT * FROM CTE;
o dentro de una subconsulta:
Código SQL:
Ver original
  1. SELECT *
  2. FROM (SELECT * FROM T1
  3.      EXCEPT
  4.      SELECT * FROM T2) AS T
  5. SELECT * FROM T;
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog