 
			
				06/12/2012, 12:30
			
			
			     |  
      |    |    |    Fecha de Ingreso: julio-2012  Ubicación: Israel  
						Mensajes: 360
					  Antigüedad: 13 años, 3 meses Puntos: 40     |        |  
  |      Respuesta: Elegir mejor consulta de estas dos        Vamos a suponer que tienes una tabla con cuatro columnas: A,B,C,D; 
sin ningun índice.   
Si ejecutas Select * From MiTabla o Select * From MiTabla Where ... el sistema tendra que ejecutar Table Scan, es decir - pasar todas las filas de la tabla para encontrar lo que buscas (como Libras ya mencionó).   
Ahora vamos a suponer que creas un Clustered Index con la columna A, 
y un Index (Non Clustered) con las columnas B, C.  Select * From MiTabla el sistema va a hacer un Clustered Index Scan en lugar de Table Scan porque ahora la tabla esta almacenada ordenada a base a columna A (=Clustered Index).  Select * From MiTabla Where A=... el sistema va a ejecutar un Clustered Index Seek que significa que va a aprovechar el Clustered Index para encontrar las filas deseadas directamente sin tener que pasar todas las filas.  Select B,C From MiTabla Where B=... And C=... el sistema va a ejecutar un Index Seek para encontrar las filas con el índice.  Select * From MiTabla Where D=... el sistema va a ejecutar un Clustered Index Scan. (¿sabes porque?)  Select * From MiTabla Where B=... And C=... el sistema tendrá que elegir entre Clustered Index Scan y Index Seek + Clustered Index Seek porque el Index no incluye todas las columnas, sino- solamente B & C.     
				__________________  El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.  Mi blog           |