Duda sobre Indice clustered.

17/12/2009 - 16:11 por Sangines | Informe spam
Buen dia...
Si tengo una consulta que utiliza la instruccion ORDER BY, es mejor
tener el indice cluster por el campo de ordenamiento O es mejor
tenerlo por el campo de las condiciones de filtrado, es decir, despues
del WHERE, la anterior duda salio en un curso de Sql Server 2008 donde
el instructor comento que es mejor la primera opcion que la segunda y
a mi me parece lo contrario...

Si es la primera opcion como comento el instructor quisiera entender
el porque, alguien me puede explicar o hacerme llegar una liga donde
explique esto???

Gracias de antemano por su atencion...

Saludos
 

Leer las respuestas

#1 Carlos Sacristan
17/12/2009 - 16:56 | Informe spam
Como en la mayoría de las veces que se plantea un caso como el que comentas,
la respuesta es "It depends".

Si el conjunto de resultados a ordenar es muy grande es preferible que la
tabla esté ordenada por los campos por los que se ordena, esto es, que el
índice agrupado se componga de las mismas columnas que conforman el ORDER BY
y que por otro lado se tenga un índice no agrupado para la parte del WHERE.

Ahora bien, puede ocurrir también que la consulta solicite todos los campos
de la tabla, con lo cual el operador "Key lookup" termina siendo más costoso
que la propia ordenación. En ese caso sería más eficiente que el índice
agrupado fuera la combinación de las columnas del WHERE.

En cualquier caso, no es la ordenación el único criterio a tener en cuenta a
la hora de seleccionar un índice agrupado.

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático


"Sangines" wrote in message
news:
Buen dia...
Si tengo una consulta que utiliza la instruccion ORDER BY, es mejor
tener el indice cluster por el campo de ordenamiento O es mejor
tenerlo por el campo de las condiciones de filtrado, es decir, despues
del WHERE, la anterior duda salio en un curso de Sql Server 2008 donde
el instructor comento que es mejor la primera opcion que la segunda y
a mi me parece lo contrario...

Si es la primera opcion como comento el instructor quisiera entender
el porque, alguien me puede explicar o hacerme llegar una liga donde
explique esto???

Gracias de antemano por su atencion...

Saludos

Preguntas similares