Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Geeft informatie terug over databasetabelkolommen die een index missen.
sys.dm_db_missing_index_columns is een dynamische managementfunctie.
Syntaxis
sys.dm_db_missing_index_columns(index_handle)
Arguments
index_handle
Een geheel getal dat een ontbrekende index uniek identificeert. Het kan worden verkregen uit de volgende dynamische beheerobjecten:
sys.dm_db_missing_index_details (Transact-SQL)
sys.dm_db_missing_index_groups (Transact-SQL)
Tabel geretourneerd
| Kolomnaam | Gegevenstype | Description |
|---|---|---|
| column_id | int | Id van de kolom. |
| column_name | sysname | Naam van de kolom van de tabel. |
| column_usage | Varchar(20) | Hoe de kolom door de query wordt gebruikt. De mogelijke waarden en hun beschrijvingen zijn: GELIJKHEID: De kolom draagt bij aan een predicaat dat gelijkheid uitdrukt, van de vorm: table.column = constant_value ONGELIJKHEID: De kolom draagt bij aan een predicaat dat ongelijkheid uitdrukt, bijvoorbeeld een predicaat van de vorm: table.column>constant_value. Elke vergelijkingsoperator anders dan "=" drukt ongelijkheid uit. INCLUDE: De kolom wordt niet gebruikt om een predicaat te evalueren, maar wordt om een andere reden gebruikt, bijvoorbeeld om een query te dekken. |
Opmerkingen
Informatie die door sys.dm_db_missing_index_columns wordt teruggestuurd, wordt bijgewerkt wanneer een query wordt geoptimaliseerd door de queryoptimizer en wordt niet behouden. Ontbrekende indexinformatie wordt alleen bewaard totdat de database-engine opnieuw is opgestart. Databasebeheerders zouden periodiek back-ups moeten maken van de ontbrekende indexinformatie als ze deze na serverrecycling willen behouden. Gebruik de kolom sqlserver_start_time in sys.dm_os_sys_info om de laatste opstarttijd van de database-engine te vinden.
Transactieconsistentie
Als een transactie een tabel aanmaakt of verwijdert, worden de rijen met ontbrekende indexinformatie over de gedropte objecten uit dit dynamische beheerobject verwijderd, waardoor de consistentie van de transactie behouden blijft.
Permissions
Gebruikers moeten de toestemming VIEW SERVER STATE krijgen of elke toestemming die de VIEW SERVER STATE toestemming impliceert om deze dynamische beheerfunctie te bevragen.
Machtigingen voor SQL Server 2022 en hoger
Vereist de machtiging PRESTATIESTATUS VAN DE WEERGAVESERVER op de server.
Voorbeelden
Het volgende voorbeeld voert een query uit op de Address tabel en voert vervolgens een query uit met de sys.dm_db_missing_index_columns dynamische beheerweergave om de tabelkolommen terug te geven die een index missen.
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
Ontbrekende indexsuggesties moeten waar mogelijk worden gecombineerd met elkaar en met bestaande indexen in de huidige database. Leer hoe je deze suggesties toepast om niet-geclusterde indexen met ontbrekende indexsuggesties af te stemmen.
Volgende stappen
Lees meer over de ontbrekende indexfunctie in de volgende artikelen:
- Niet-geclusterde indexen afstemmen met behulp van suggesties voor ontbrekende indexen
- sys.dm_db_missing_index_details (Transact-SQL)
- sys.dm_db_missing_index_groups (Transact-SQL)
- sys.dm_db_missing_index_group_stats (Transact-SQL)
- sys.dm_db_missing_index_group_stats_query (Transact-SQL)
- sys.dm_os_sys_info (Transact-SQL)