Puede disminuir el rendimiento de las consultas SQL cuando la instancia de base de datos de SQL Server tiene la fragmentación de índice alto

Resumen

Rendimiento de las consultas SQL se puede disminuir si los índices están muy fragmentados en la instancia de base de datos de Microsoft SQL Server. Puede utilizar la función de sistema sys.dm_db_index_physical_stats para detectar la fragmentación del índice en los siguientes casos:
  • Un índice específico
  • Todos los índices de una tabla
  • Todos los índices de una vista indizada
  • Todos los índices de una base de datos
  • Todos los índices de todas las bases de datos
Para determinar la fragmentación que es mayor que 30 por ciento, ejecute la siguiente secuencia de comandos de consulta SQL:

SELECT OBJECT_NAME(i.OBJECT_ID) AS TableName, OBJECT_NAME(i.OBJECT_ID) AS TableName, i.name AS IndexName,i.name AS IndexName, indexstats.avg_fragmentation_in_percent FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'DETAILED') indexstats INNER JOIN sys.indexes i ON i.OBJECT_ID = indexstats.OBJECT_ID WHERE indexstats.avg_fragmentation_in_percent > 30 AND i.index_id = indexstats.index_id
Para determinar el mejor método para corregir la fragmentación, consulte las siguientes instrucciones:
  • Utilice el comando ALTER INDEX REBUILD WITH (ONLINE = ON) * para los objetos cuyo porcentaje promedio de fragmentación sea mayor del 30 por ciento
  • Utilice el comando ALTER INDEX REORGANIZE para los objetos cuyo promedio porcentaje de fragmentación es entre 5 y 30 por ciento.

valor avg_fragmentation_in_percentInstrucción correctiva
> % 5 y < = 30%ALTER INDEX REORGANIZE
> 30%ALTERAR LA RECONSTRUCCIÓN DE ÍNDICES CON (ONLINE = ON) *
Notas:
  • Estos valores proporcionan una guía aproximada para determinar el punto en el que debe cambiar entre ALTER INDEX REORGANIZE y ALTER INDEX RECONSTRUIR. Sin embargo, los valores reales pueden variar de un caso a otro. Debe experimentar para determinar el mejor umbral para su entorno.
  • Niveles muy bajos de fragmentación (menos de cinco por ciento) no deben tratarse por cualquiera de estos comandos. Esto es porque la ventaja de eliminar una pequeña cantidad de fragmentación generalmente en gran medida se ve compensada por el coste de reorganizar o reconstruir los índices.

Más información

Para obtener más información acerca de cómo reorganizar y reconstruir los índices, visite el siguiente sitio Web de Microsoft:
En la tabla siguiente proporciona más información acerca de los productos o herramientas que comprueban automáticamente si esta condición en la instancia de SQL Server y en las versiones del producto de SQL Server con el que se evalúa la regla.
Software de reglaTítulo de la reglaDescripción de la reglaVersiones del producto con el que se evalúa la regla
Asesor de System CenterAlta fragmentaciones de SQL Server pueden degradar el rendimiento de las consultasSystem Center Advisor comprueba la fragmentación lógica mediante el valor de avg_fragmentation_in_percent de sys.dm_db_index_physical_stats para cada índice de la instancia de base de datos de SQL Server. Si el promedio de fragmentación de índice o el montón es mayor que cinco por ciento, se genera esta alerta. Siga las instrucciones de este artículo para resolver los problemas relacionados con las fragmentaciones de alto índice.SQL Server 2008

SQL Server 2008 R2

SQL Server 2012
Propiedades

Id. de artículo: 2755960 - Última revisión: 23 ene. 2017 - Revisión: 1

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Web

Comentarios