Hola a todos, hoy les coloco esta entrada que considero muy importante siguiendo la línea de la optimización de nuestras bases de datos, el script que les coloco a continuación me permite visualizar el % de fragmentación que tiene nuestros índices en el cual les coloco como parámetro en la consulta que me indique los que sean mayores a 30%.
1: SELECT top 60 OBJECT_NAME(i.OBJECT_ID) AS TableName,
2: i.name AS IndexName,
3: indexstats.avg_fragmentation_in_percent4: FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'DETAILED') indexstats
5: INNER JOIN sys.indexes i ON i.OBJECT_ID = indexstats.OBJECT_ID
6: AND i.index_id = indexstats.index_id
7: WHERE indexstats.avg_fragmentation_in_percent > 30
Se recomienda que aquellos índices que estén entre el rango de 5% a 30% se les aplique una reorganización usando para ello la siguiente función:
1: ALTER INDEX 'NombreDelIndice' REORGANIZE
En cuanto a los índices que sobrepasen el 30% se recomienda aplicar el rebuild que realiza una regeneración del índice. Se aplica de la siguiente forma:
1: ALTER INDEX 'NombreDelIndice' REBUILD WITH (ONLINE = ON)
El parámetro “ONLINE=ON” nos índica que regeneración de un índice se puede ejecutar en línea o sin conexión. En cambio la reorganización de un índice siempre se ejecuta en línea. Para lograr una disponibilidad similar a la opción de reorganización, debe volver a generar los índices en línea.
No hay comentarios:
Publicar un comentario