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

Seleccione idioma Seleccione idioma
Id. de artículo: 2755960 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Resumen

Puede disminuir el rendimiento de la consulta SQL si los índices están muy fragmentados en la instancia de base de datos de Microsoft SQL Server. Puede utilizar la función del sistema de sys.dm_db_index_physical_stats para detectar la fragmentación 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 instrucciones siguientes:
  • Utilice la ALTER INDEX RECONSTRUIR con (ONLINE = ON) * comando para los objetos cuya porcentaje promedio de fragmentación es más del 30 por ciento.
  • Utilice el comando ALTER INDEX REORGANIZE para los objetos cuya porcentaje promedio de fragmentación es entre 5 a 30 por ciento.

Contraer esta tablaAmpliar esta tabla
valor avg_fragmentation_in_percentInstrucción correctiva
&gt; 5% y< ==""> ALTER INDEX REORGANIZE
&gt; 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 costo de la reorganización o reconstruir los índices.

Más información

Para obtener más información acerca de cómo reorganizar y reconstruir los índices, vaya al sitio Web de Microsoft siguiente:
Para reorganizar y reconstruir índices

En la tabla siguiente proporciona más información acerca de los productos o herramientas que automáticamente comprobar esta condición en una instancia de SQL Server y en las versiones del producto SQL Server contra la cual se evalúa la regla.
Contraer esta tablaAmpliar esta tabla
Software de reglaTítulo de la reglaDescripción de la reglaVersiones del producto con el que se evalúa la regla
Asesor de System CenterFragmentaciones altas SQL Server pueden degradar el rendimiento de las consultasAsesor de System Center comprueba la fragmentación lógica mediante el uso de la avg_fragmentation_in_percent valor 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 del í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: jueves, 27 de septiembre de 2012 - Versión: 1.0
La información de este artículo se refiere a:
  • 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
Palabras clave: 
kbsurveynew kbhowto kbexpertiseadvanced kbmt KB2755960 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 2755960

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com