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.