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
Returnerar information om databastabellskolumner som saknar ett index.
sys.dm_db_missing_index_columns är en dynamisk ledningsfunktion.
Syntax
sys.dm_db_missing_index_columns(index_handle)
Arguments
index_handle
Ett heltal som entydigt identifierar ett saknat index. Den kan erhållas från följande dynamiska hanteringsobjekt:
sys.dm_db_missing_index_details (Transact-SQL)
sys.dm_db_missing_index_groups (Transact-SQL)
Tabell returnerad
| Kolumnnamn | Datatyp | Description |
|---|---|---|
| column_id | int | ID för kolumnen. |
| column_name | sysname | Namnet på tabellkolumnen. |
| column_usage | Varchar(20) | Hur kolumnen används av frågan. De möjliga värdena och deras beskrivningar är: LIKHET: Kolumnen bidrar till ett predikat som uttrycker likhet, av formen: table.column = constant_value OLIKHET: Kolumn bidrar till ett predikat som uttrycker olikhet, till exempel ett predikat av formen: table.column>constant_value. Alla jämförelseoperatorer utom "=" uttrycker olikhet. INKLUDERA: Kolumn används inte för att utvärdera ett predikat, utan används av en annan anledning, till exempel för att täcka en fråga. |
Anmärkningar
Information som returneras av sys.dm_db_missing_index_columns uppdateras när en fråga optimeras av frågeoptimeraren och behålls inte. Saknad indexinformation sparas endast tills databasmotorn startas om. Databasadministratörer bör regelbundet göra säkerhetskopior av den saknade indexinformationen om de vill behålla den 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.
Transaktionskonsistens
Om en transaktion skapar eller släpper en tabell tas raderna som innehåller saknad indexinformation om de borttagna objekten bort från detta dynamiska hanteringsobjekt, vilket bevarar transaktionskonsistensen.
Permissions
Användare måste beviljas tillståndet VISA SERVERTILLSTÅND eller någon behörighet som innebär VISA SERVERTILLSTÅND för att fråga denna dynamiska hanteringsfunktion.
Behörigheter för SQL Server 2022 och senare
Kräver BEHÖRIGHET FÖR VISNINGSSERVERNS PRESTANDATILLSTÅND på servern.
Examples
Följande exempel kör en fråga mot Address tabellen och kör sedan en fråga med dynamisk hanteringsvy sys.dm_db_missing_index_columns för att returnera tabellkolumner som saknar ett index.
USE AdventureWorks2022;
GO
SELECT City, StateProvinceID, PostalCode
FROM Person.Address
WHERE StateProvinceID = 9;
GO
SELECT mig.*, statement AS table_name,
column_id, column_name, column_usage
FROM sys.dm_db_missing_index_details AS mid
CROSS APPLY sys.dm_db_missing_index_columns (mid.index_handle)
INNER JOIN sys.dm_db_missing_index_groups AS mig ON mig.index_handle = mid.index_handle
ORDER BY mig.index_group_handle, mig.index_handle, column_id;
GO
Saknade indexförslag bör kombineras när det är möjligt med varandra och med befintliga index i den nuvarande databasen. Lär dig hur du kan tillämpa dessa förslag i takt med icke-klustrade index med saknade indexförslag.
Nästa steg
Läs mer om den saknade indexfunktionen i följande artiklar: