Volver a la página principal
domingo 11 febrero 2024
9

Cómo revisar la fragmentación de índices en SQL Server

Introducción

La fragmentación de índices puede afectar significativamente el rendimiento de las bases de datos de SQL Server. La fragmentación ocurre cuando el orden lógico de las páginas en un índice no coincide con el orden físico de las páginas en el almacenamiento. Esta guía demuestra cómo identificar y abordar la fragmentación de índices.

Verificación de Niveles de Fragmentación

Para verificar los niveles de fragmentación, puedes utilizar la siguiente consulta T-SQL:

SELECT
  S.name AS 'Schema',
  T.name AS 'Tabla',
  I.name AS 'Índice',
  DDIPS.avg_fragmentation_in_percent,
  DDIPS.page_count
FROM
  sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS DDIPS
INNER JOIN
  sys.tables T ON T.object_id = DDIPS.object_id
INNER JOIN
  sys.schemas S ON T.schema_id = S.schema_id
INNER JOIN
  sys.indexes I ON I.object_id = DDIPS.object_id
  AND DDIPS.index_id = I.index_id
WHERE
  DDIPS.database_id = DB_ID()
  AND I.name IS NOT NULL
  AND DDIPS.avg_fragmentation_in_percent > 0
ORDER BY
  DDIPS.avg_fragmentation_in_percent DESC;

Esta consulta devuelve información sobre la fragmentación de índices para todos los índices en la base de datos actual con un nivel de fragmentación superior al 0%. Proporciona detalles como esquema, tabla, nombre del índice, porcentaje de fragmentación promedio y cantidad de páginas.

Abordando la Fragmentación

Para abordar la fragmentación de índices, puedes reconstruir o reorganizar índices. Reconstruir un índice elimina y recrea el índice, mientras que reorganizar físicamente reordena las páginas de nivel de hoja del índice. La elección entre reconstruir y reorganizar depende del nivel de fragmentación y otros factores como el tamaño de la base de datos y la disponibilidad de ventana de mantenimiento.

Etiquetas:
sqlserver
Compartir:
Autor:
User photo

Jorge García

Fullstack developer