SQL Server’da Eksik Index Sorgulama

Herkese merhaba,

Bu yazıda SQL Server’da eksik Index’in nasıl sorgulanacağı hakkında bilgi vereceğim.

SQL Server’da eksik indexlerden dolayı performans sıkıntım mı var mı gibi sorular aklınıza gelebilir.

Bu noktada aşağıdaki sorguları kullanarak eksik indexleri sorgulayabiliriz.

Eksik Index Sorgu 1

SELECT TOP 10
       DB_NAME(id.database_id) AS databaseName,
       id.statement AS TableName,
       id.equality_columns,
       id.inequality_columns,
       id.included_columns,
       gs.last_user_seek,
       gs.user_seeks,
       gs.last_user_scan,
       gs.user_scans,
       gs.avg_total_user_cost * gs.avg_user_impact * (gs.user_seeks + gs.user_scans) AS ImprovementValue
FROM sys.dm_db_missing_index_group_stats gs
    INNER JOIN sys.dm_db_missing_index_groups ig
        ON gs.group_handle = ig.index_group_handle
    INNER JOIN sys.dm_db_missing_index_details id
        ON id.index_handle = ig.index_handle
ORDER BY avg_total_user_cost * avg_user_impact * (user_seeks + user_scans) DESC;

Eksik Index Sorgu 2

SELECT ig.*,
       statement AS table_name,
       column_id,
       column_name,
       column_usage
FROM sys.dm_db_missing_index_details AS id
    CROSS APPLY sys.dm_db_missing_index_columns(id.index_handle)
    INNER JOIN sys.dm_db_missing_index_groups AS ig
        ON id.index_handle = id.index_handle
ORDER BY ig.index_group_handle,
         ig.index_handle,
         column_id;

Bu iki sorgu ile eksik indexleri sorgulayabilir ve performans artışı için bu indekslerin oluşturulmasını sağlayabilirsiniz.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

772 Kez Okundu