Resumen de fragmentación de índices
¿Qué es la fragmentación de índices y por qué debería centrarme en ella? La fragmentación existe cuando el orden lógico en el índice (basado en el valor clave del índice) no coincide con el orden físico en las páginas del índice en las páginas que contiene el índice. Siempre que se realiza una operación de insertar, actualizar o eliminar los datos subyacentes, el motor de la base de datos modifica automáticamente el índice. Por ejemplo, añadir filas a una tabla puede hacer que las filas divididas almacenen páginas existentes en el índice para dejar espacio para insertar nuevas claves. Con el tiempo, estas modificaciones pueden hacer que la información del índice se disperse en la base de datos (que contiene fragmentos). La fragmentación ocurre cuando el orden lógico (basado en clave-valor) en las páginas que contiene el índice no coincide con el orden físico del archivo de datos. Un gran número de índices fragmentados puede ralentizar el rendimiento de las consultas porque se requiere una E/S adicional para encontrar los datos a los que apunta el índice. Más E/S puede hacer que la aplicación responda lentamente, especialmente cuando se trata de operaciones de escaneo.
Comprobar si hay fragmentación del índice de la base de datos
Mandar:
Hay dos formas de desfragmentar: reorganizar y recrear índices; reconstruir índices se refiere a eliminar índices antiguos y reconstruir nuevos índices en una transacción, lo que recupera el espacio en disco duro del índice original y asigna nuevo espacio de almacenamiento para crear una estructura de índice. Reorganizar índices se refiere a no asignar nuevo espacio de almacenamiento, reorganizar los nodos hoja de la estructura del índice en función del espacio original, de modo que el orden lógico y físico de las páginas de datos sean consistentes, y liberar el espacio excedente en el índice.
Utiliza la función sys.dm_db_index_physical_stats para detectar el grado de fragmentación, campo avg_fragmentation_in_percent el porcentaje de fragmentos lógicos devueltos; en general, Microsoft recomienda un umbral del 30%:
avg_fragmentation_in_percent >5% y <=30%: ALTERAR EL ÍNDICE REORGANIZAR; avg_fragmentation_in_percent >30%: RECONSTRUCCIÓN DEL ÍNDICE ALTER;
avg_fragmentation_in_percent: Porcentaje de fragmentación del índice, si la fragmentación es inferior al 10%~20%, es poco probable que la fragmentación sea un problema,Si la fragmentación del índice está en un 20%~40%, la fragmentación puede ser un problema, pero la resolución de índices puede eliminarse mediante la reorganización de índices, y la fragmentación a gran escala (cuando la fragmentación es mayor al 40%) puede requerir reconstrucción de índice.
Consulta la información de fragmentación para todos los índices de una tabla dada
Reindexación de tablas
Reconstruir el índice de todas las tablas de toda la base de datos
Recursos:El inicio de sesión del hipervínculo es visible.
|