sys.dm_db_missing_index_group_stats (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Ger sammanfattande information om grupper av saknade index, exklusive rumsliga index.

I Azure SQL Database kan dynamiska hanteringsvyer inte exponera information som skulle påverka databasens inneslutning eller exponera information om andra databaser som användaren har åtkomst till. För att undvika att exponera den här informationen filtreras varje rad som innehåller data som inte tillhör den anslutna klientorganisationen bort.

Kolumnnamn Datatyp Description
group_handle int Identifierar en grupp saknade index. Denna identifierare är unik över hela servern.

De andra kolumnerna ger information om alla frågor där indexet i gruppen anses saknas.

En indexgrupp innehåller endast ett index.

Kan anslutas till index_group_handlei sys.dm_db_missing_index_groups.
unique_compiles bigint Antal sammanställningar och omkompilationer som skulle gynnas av denna saknade indexgrupp. Sammanställningar och omkompileringar av många olika frågor kan bidra till detta kolumnvärde.
user_seeks bigint Antal sökningar orsakade av användarfrågor som det rekommenderade indexet i gruppen kunde ha använts för.
user_scans bigint Antal skanningar orsakade av användarfrågor som det rekommenderade indexet i gruppen kunde ha använts för.
last_user_seek datetime Datum och tid för senaste sökning orsakad av användarfrågor som det rekommenderade indexet i gruppen kunde ha använts för.
last_user_scan datetime Datum och tid för senaste skanning orsakad av användarfrågor som det rekommenderade indexet i gruppen kunde ha använts för.
avg_total_user_cost float Genomsnittlig kostnad för användarfrågorna som kan minskas av indexet i gruppen.
avg_user_impact float Genomsnittlig procentuell fördel som användarfrågor skulle kunna uppleva om denna saknade indexgrupp implementerades. Värdet innebär att frågekostnaden i genomsnitt skulle minska med denna procentandel om denna saknade indexgrupp implementerades.
system_seeks bigint Antal sökningar orsakade av systemfrågor, såsom autostatistikfrågor, som det rekommenderade indexet i gruppen kunde ha använts för. För mer information, se Auto Stats Event Class.
system_scans bigint Antal skanningar orsakade av systemfrågor som det rekommenderade indexet i gruppen kunde ha använts för.
last_system_seek datetime Datum och tid för senaste systemsökning orsakad av systemfrågor som det rekommenderade indexet i gruppen kunde ha använts för.
last_system_scan datetime Datum och tid för senaste systemskanning orsakad av systemfrågor som det rekommenderade indexet i gruppen kunde ha använts för.
avg_total_system_cost float Genomsnittskostnaden för systemfrågorna som kan minskas av indexet i gruppen.
avg_system_impact float Genomsnittlig procentuell fördel som systemfrågor kan uppleva om denna saknade indexgrupp implementerades. Värdet innebär att frågekostnaden i genomsnitt skulle minska med denna procentandel om denna saknade indexgrupp implementerades.

Anmärkningar

Informationen som returneras av sys.dm_db_missing_index_group_stats uppdateras vid varje frågeexekvering, inte vid varje frågekompilering eller omkompilering. Användningsstatistik sparas inte och sparas endast tills databasmotorn startas om. Databasadministratörer bör periodvis göra säkerhetskopior av den saknade indexinformationen om de vill behålla användningsstatistiken efter serveråtervinning. Använd kolumnen sqlserver_start_time i sys.dm_os_sys_info för att hitta den senaste starttiden för databasmotorn.

Anmärkning

Resultatet för denna DMV är begränsat till 600 rader. Varje rad innehåller ett saknat index. Om du har mer än 600 saknade index bör du åtgärda de befintliga saknade indexen så att du kan se de nyare.

En saknad indexgrupp kan ha flera frågor som behövde samma index. För mer information om enskilda frågor som behövde ett specifikt index i detta DMV, se sys.dm_db_missing_index_group_stats_query.

Permissions

För att fråga denna dynamiska hanteringsvy måste användare beviljas tillståndet VISA SERVERTILLSTÅND eller någon behörighet som innebär VISA SERVERTILLSTÅND.

Behörigheter för SQL Server 2022 och senare

Kräver BEHÖRIGHET FÖR VISNINGSSERVERNS PRESTANDATILLSTÅND på servern.

Examples

Följande exempel illustrerar hur man använder den dynamiska sys.dm_db_missing_index_group_stats hanteringsvyn. Läs mer om vägledning för att använda saknade index i rätt riktning för icke-klustrade index med förslag på saknade index.

A. Hitta de 10 saknade index med högst förväntad förbättring för användarfrågor

Följande fråga avgör vilka 10 saknade index som skulle ge den högst förväntade kumulativa förbättringen, i fallande ordning, för användarfrågor.

SELECT TOP 10 *  
FROM sys.dm_db_missing_index_group_stats  
ORDER BY avg_total_user_cost * avg_user_impact * (user_seeks + user_scans)DESC;  

B. Hitta de enskilda saknade indexen och deras kolumndetaljer för en viss saknad indexgrupp

Följande fråga avgör vilka saknade index som utgör en viss saknad indexgrupp och visar deras kolumndetaljer. För detta exempel är det saknade indexet group_handle 24.

SELECT migs.group_handle, mid.*  
FROM sys.dm_db_missing_index_group_stats AS migs  
INNER JOIN sys.dm_db_missing_index_groups AS mig  
    ON (migs.group_handle = mig.index_group_handle)  
INNER JOIN sys.dm_db_missing_index_details AS mid  
    ON (mig.index_handle = mid.index_handle)  
WHERE migs.group_handle = 24;  

Denna fråga anger namnet på databasen, schemat och tabellen där ett index saknas. Den tillhandahåller också namnen på kolumnerna som ska användas för indexnyckeln. När du skriver CREATE INDEX DDL-satsen för att implementera saknade index, lista likhetskolumner först och sedan olikhetskolumner i ON <table_name-klausulen> i CREATE INDEX-satsen. Inkluderade kolumner bör listas i INCLUDE-klausulen i CREATE INDEX-satsen. För att bestämma en effektiv ordning för likhetskolumnerna, ordna dem baserat på deras selektivitet och lista de mest selektiva kolumnerna först (längst till vänster i kolumnlistan). Lär dig hur du använder förslag på saknade index.

Nästa steg

Läs mer om den saknade indexfunktionen i följande artiklar: