La principal ventaja de no particionar un índice (no única) en un objeto de base con particiones es que funciona alrededor de una limitación optimizador de consultas de larga data relacionada con las solicitudes de datos ordenados, tales como MIN
, MAX
, o TOP (n)
consultas.
En un índice particionado, el optimizador generalmente no puede traducir MIN
, MAX
o TOP (n)
a la misma operación por partición , seguido de un agregado global final sobre los agregados parciales por partición. En cambio, el optimizador elige un plan de ejecución que escanea todas las particiones del índice. La excepción a esto es el caso único donde la operación agregada o superior se especifica sobre la columna de partición.
Debo mencionar que también hay muy buenas razones para no tener índices no alineados. Elegir usar un índice no alineado tendría que ser una elección muy informada. Lo hice yo mismo (rara vez) en el pasado, pero en circunstancias muy específicas donde los beneficios claramente superaban los costos, o no había otra alternativa razonable.
Artículo de Itzik Ben-Gan explicando el problema.