Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-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:
- Justera icke-klustrade index med förslag på saknade index
- sys.dm_db_missing_index_columns (Transact-SQL)
- sys.dm_db_missing_index_details (Transact-SQL)
- sys.dm_db_missing_index_groups (Transact-SQL)
- sys.dm_db_missing_index_group_stats_query (Transact-SQL)
- SKAPA INDEX (Transact-SQL)
- sys.dm_os_sys_info (Transact-SQL)