A medida que inserta actualizaciones y eliminaciones, sus índices se fragmentarán tanto interna como externamente.
La fragmentación interna es que tiene un alto porcentaje de espacio libre en sus páginas de índice, lo que significa que SQL Server necesita leer más páginas al escanear el índice.
La fragmentación externa es cuando las páginas del índice ya no están en orden, por lo que SQL Server tiene que hacer más trabajo, especialmente en términos de E / S para leer el índice.
Si sus índices se fragmentan demasiado, en el mejor de los casos, sus consultas serán menos eficientes, pero en el peor de los casos, SQL Server dejará de usar todos los índices juntos, lo que significa que prácticamente todas las consultas tendrían que realizar un escaneo de tabla o un escaneo de índice agrupado. ¡Esto perjudicará mucho tu rendimiento!
Cuando reorganiza un índice, SQL Server usa las páginas de índice existentes y simplemente baraja los datos de esas edades. Esto aliviará la fragmentación interna y también puede eliminar una pequeña cantidad de fragmentación externa. Es una operación más liviana que la reconstrucción y siempre está en línea.
Cuando reconstruye un índice, SQL Server en realidad recurre a los datos del índice y utiliza un nuevo conjunto de páginas de índice. Obviamente, esto aliviará la fragmentación interna y externa, pero es una operación más pesada y, por defecto, hace que el índice se desconecte, aunque puede realizarse como una operación en línea, dependiendo de la versión y la configuración de su SQL Server.
Sin embargo, no espere tener 0 fragmentación después de una Reconstrucción. A menos que utilice una sugerencia de consulta MAXDOP, SQL Server paralelará la operación de reconstrucción y cuantos más procesadores participen, es probable que haya más fragmentación, porque cada procesador o núcleo reconstruirá su sección o fragmento del índice individualmente, sin tener en cuenta El uno al otro. Esta es una compensación entre los mejores niveles de fragmentación y el tiempo necesario para reconstruir el índice. Para una fragmentación cercana a 0, use MAXDOP 1 y ordene los resultados en TempDB.