¿Por qué el índice REBUILD no reduce la fragmentación del índice?


Respuestas:


39

Si un índice es muy pequeño (creo que menos de 8 páginas) usará extensiones mixtas. Por lo tanto, parecerá que aún queda fragmentación, ya que la extensión de la carcasa contendrá páginas de múltiples índices.

Debido a esto, y también al hecho de que en un índice tan pequeño que la fragmentación es típicamente insignificante, realmente solo debería reconstruir índices con un cierto umbral de página. Es una buena práctica reconstruir índices fragmentados que tengan un mínimo de 1000 páginas .


34

Esto también puede suceder con índices muy GRANDES.

Tenía algunos índices en una tabla con alrededor de 700m de filas que no podía desfragmentar por debajo de alrededor del 30%. El problema no era suficiente espacio libre contiguo dentro de la base de datos para organizar el índice de forma consecutiva.

Para evitar un índice muy grande que no desfragmente, la MEJOR solución es cambiar el tamaño de una nueva base de datos y mover todos sus objetos a esa base de datos, luego recrear sus índices allí.


1

He tenido problemas con esto por algún tiempo y, al igual que JNK, pensé que el problema era el espacio libre y la fragmentación física en el disco. Sin embargo, ¿qué haces al respecto en una SAN SSD?

Ahora he descubierto que puede ser una buena idea incluir solo index_level = 0. Así es como se hace en el guión de Ola Hallengren.

Otra mejora es hacer

 REBUILD With (maxdop = 1)

De esta manera se garantiza la máxima mejora.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.