Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Vrací informace o sloupcích tabulky v databázi, kterým chybí index.
sys.dm_db_missing_index_columns je dynamická řídící funkce.
Syntaxe
sys.dm_db_missing_index_columns(index_handle)
Arguments
index_handle
Celé číslo, které jednoznačně identifikuje chybějící index. Lze jej získat z následujících dynamických správních objektů:
sys.dm_db_missing_index_details (Transact-SQL)
sys.dm_db_missing_index_groups (Transact-SQL)
Vrácená tabulka
| Název sloupce | Datový typ | Description |
|---|---|---|
| column_id | int | ID sloupce. |
| column_name | sysname | Název sloupce tabulky. |
| column_usage | Varchar(20) | Jak je sloupec použit dotazem. Možné hodnoty a jejich popisy jsou: ROVNOST: Sloupec přispívá k predikátu, který vyjadřuje rovnost, ve tvaru: table.column = constant_value NEROVNOST: Sloupec přispívá k predikátu, který vyjadřuje nerovnost, například predikátu tvaru: table.column>constant_value. Každý srovnávací operátor jiný než "=" vyjadřuje nerovnost. ZAHRNOUT: Sloupec se nepoužívá k vyhodnocení predikátu, ale z jiného důvodu, například k pokrytí dotazu. |
Poznámky
Informace vrácené pomocí jsou sys.dm_db_missing_index_columns aktualizovány, když je dotaz optimalizován optimalizátorem dotazů, a nejsou uchovávány. Chybějící informace v indexu jsou uchovávány pouze do restartu databázového enginu. Správci databáze by měli pravidelně vytvářet záložní kopie chybějících indexových informací, pokud je chtějí po recyklaci serveru zachovat. Pomocí sloupce sqlserver_start_time v sys.dm_os_sys_info vyhledejte čas posledního spuštění databázového stroje.
Konzistence transakcí
Pokud transakce vytvoří nebo zanechá tabulku, řádky obsahující chybějící indexové informace o ztracených objektech jsou z tohoto dynamického objektu správy odstraněny, čímž je zachována konzistence transakcí.
Povolení
Uživatelům musí být uděleno oprávnění ZOBRAZIT STAV SERVERU nebo jakékoli oprávnění, které znamená oprávnění ZOBRAZIT STAV SERVERU, aby mohli dotazovat tuto funkci dynamické správy.
Oprávnění pro SQL Server 2022 a novější
Vyžaduje oprávnění ZOBRAZIT STAV VÝKONU SERVERU na serveru.
Examples
Následující příklad provádí dotaz proti tabulce Address a poté dotaz pomocí dynamického pohledu sys.dm_db_missing_index_columns správy, aby vrátil sloupce tabulky, kterým chybí 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
Chybějící návrhy indexů by měly být pokud možno kombinovány mezi sebou a s existujícími indexy v aktuální databázi. Naučte se, jak tyto návrhy aplikovat v ladění, aby byly indexy bez shluku naladěny.
Další kroky
Více o chybějící funkci indexu se dozvíte v následujících článcích:
- Ladění neclusterovaných indexů s využitím návrhů týkajících se chybějících indexů
- 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)