Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w usłudze Microsoft Fabric
Zwraca informacje o kolumnach tabeli bazy danych, w których brakuje indeksu.
sys.dm_db_missing_index_columns jest dynamiczną funkcją zarządzania.
Składnia
sys.dm_db_missing_index_columns(index_handle)
Arguments
index_handle
Liczba całkowita, która jednoznacznie identyfikuje brakujący indeks. Można ją uzyskać z następujących dynamicznych obiektów zarządzania:
sys.dm_db_missing_index_details (Transact-SQL)
sys.dm_db_missing_index_groups (Transact-SQL)
Zwracana tabela
| Nazwa kolumny | Typ danych | Description |
|---|---|---|
| column_id | int | Identyfikator kolumny. |
| column_name | sysname | Nazwa kolumny tabeli. |
| column_usage | varchar(20) | Jak kolumna jest wykorzystywana przez zapytanie. Możliwe wartości i ich opisy to: RÓWNOŚĆ: Kolumna przyczynia się do predykatu wyrażającego równość, o postaci: table.column = constant_value NIERÓWNOŚĆ: Kolumna przyczynia się do predykatu wyrażającego nierówność, na przykład do predykatu o postaci: table.column>constant_value. Każdy operator porównania inny niż "=" wyraża nierówność. INCLUDE: Kolumna nie służy do oceny predykatu, lecz z innego powodu, na przykład do pokrycia zapytania. |
Uwagi
Informacje zwracane przez sys.dm_db_missing_index_columns są aktualizowane, gdy zapytanie jest optymalizowane przez optymalizator zapytań i nie są utrwalane. Brakujące informacje indeksowe są przechowywane tylko do momentu ponownego uruchomienia silnika bazy danych. Administratorzy baz danych powinni okresowo tworzyć kopie zapasowe brakujących informacji indeksowych, jeśli chcą je zachować po recyklingu serwera. Użyj kolumny sqlserver_start_time w sys.dm_os_sys_info , aby znaleźć ostatni czas uruchamiania aparatu bazy danych.
Spójność transakcji
Jeśli transakcja tworzy lub upuszcza tabelę, wiersze zawierające brakujące informacje indeksowe o upuszczonych obiektach są usuwane z tego dynamicznego obiektu zarządzania, zachowując spójność transakcji.
Permissions
Użytkownicy muszą otrzymać uprawnienia VIEW SERVER STATE lub dowolne uprawnienia implikujące VIEW SERVER STATE do zapytań o tę dynamiczną funkcję zarządzania.
Uprawnienia dla programu SQL Server 2022 i nowszych
Wymaga uprawnienia WYŚWIETL STAN WYDAJNOŚCI SERWERA na serwerze.
Przykłady
Poniższy przykład wykonuje zapytanie względem tabeli Address , a następnie zapytanie za pomocą dynamicznego widoku sys.dm_db_missing_index_columns zarządzania, aby zwrócić kolumny tabeli, w których brakuje indeksu.
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
Brakujące sugestie indeksów powinny być łączone, jeśli to możliwe, ze sobą oraz z istniejącymi indeksami w aktualnej bazie danych. Dowiedz się, jak stosować te sugestie w sposób dostrojony, nieklastrowany indeks z brakującymi sugestiami indeksowymi.
Dalsze kroki
Dowiedz się więcej o brakującej funkcji indeksu w następujących artykułach:
- Dostrajanie indeksów nieklastrowanych za pomocą sugestii brakujących indeksów
- 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)