- 03/20/2017
- 2 minutes to read
-
-
W
-
r
-
c
-
M
-
s
-
+5
-
Applies to: SQL Server (all supported versions)
Azure SQL Database
Returns detailed information about missing indexes, excluding spatial indexes.
az Azure SQL Database-ben a dinamikus felügyeleti nézetek nem tárhatnak fel olyan információkat, amelyek hatással lennének az adatbázisok elszigetelésére, vagy más, a felhasználó által hozzáférhető adatbázisokra vonatkozó információkat. Az információk felfedésének elkerülése érdekében minden olyan sor, amely nem a csatlakoztatott bérlőhöz tartozó adatokat tartalmaz, kiszűrésre kerül.
oszlop neve | adattípus | leírás |
---|---|---|
index_handle | int | egy adott hiányzó indexet azonosít. Az azonosító az egész kiszolgálón egyedi. az index_handle a táblázat kulcsa. |
database_id | smallint | azonosítja az adatbázist, ahol a tábla a hiányzó index található. |
object_id | int | azonosítja a táblázatot, ahol az index hiányzik. |
equality_columns | nvarchar(4000) | vesszővel elválasztott oszlopok listája, amelyek hozzájárulnak az egyenlőségi predikátumokhoz a következő formában: táblázat.oszlop = konstans_érték |
inequality_columns | nvarchar(4000) | az egyenlőtlenségi predikátumokhoz hozzájáruló oszlopok vesszővel elválasztott listája, például az űrlap predikátumai: táblázat.oszlop > constant_value a “=” kivételével bármely összehasonlító operátor egyenlőtlenséget fejez ki. |
included_columns | nvarchar(4000) | a lekérdezéshez szükséges oszlopok vesszővel elválasztott listája. Az oszlopok lefedésével vagy a mellékelt oszlopokkal kapcsolatos további információkért lásd: indexek létrehozása A mellékelt oszlopokkal. memória-optimalizált indexek (mind a hash, mind a memória-optimalizált nonclustered) esetén figyelmen kívül hagyja az included_columns-t. A táblázat összes oszlopa szerepel minden memóriaoptimalizált indexben. |
utasítás | nvarchar(4000) | a táblázat neve, ahol az index hiányzik. |
Megjegyzések
a sys.dm_db_missing_index_details által visszaadott információ frissül, ha a lekérdezést a lekérdezésoptimalizáló optimalizálja, és nem marad fenn. A hiányzó indexinformációk csak az SQL Server újraindításáig maradnak meg. Az adatbázis-adminisztrátoroknak rendszeresen biztonsági másolatot kell készíteniük a hiányzó indexinformációkról, ha meg akarják őrizni azokat a kiszolgáló újrahasznosítása után.
a sys.dm_db_missing_index_groups dinamikus menedzsment nézetben lekérdezheti a sys.dm_db_missing_index_details elemet az index_handle oszlop alapján.
Megjegyzés
ennek a DMV-nek az eredménykészlete 600 sorra korlátozódik. Minden sor tartalmaz egy hiányzó indexet. Ha több mint 600 hiányzó indexe van, akkor foglalkoznia kell a meglévő hiányzó indexekkel, így megtekintheti az újabbakat.
hiányzó Indexinformációk használata a CREATE INDEX utasításokban
a sys.dm_db_missing_index_details által visszaadott információk CREATE INDEX utasításokká konvertálásához mind a memória-optimalizált, mind a lemezalapú indexek számára az egyenlőség oszlopokat az egyenlőtlenség oszlopok elé kell helyezni, és együtt kell létrehozniuk az index kulcsát. A mellékelt oszlopokat hozzá kell adni a CREATE INDEX utasításhoz az INCLUDE záradék használatával. Az egyenlőség oszlopok tényleges sorrendjének meghatározásához Rendelje meg őket szelektivitásuk alapján: először sorolja fel a legszelektívebb oszlopokat (az oszloplista bal szélén).
a memóriaoptimalizált indexekről további információt a memóriaoptimalizált táblák indexei című témakörben talál.
tranzakciós konzisztencia
ha egy tranzakció táblát hoz létre vagy dob le, akkor a törölt objektumokról hiányzó indexinformációkat tartalmazó sorok eltávolításra kerülnek ebből a dinamikus felügyeleti objektumból, megőrizve a tranzakció konzisztenciáját.
engedélyek
SQL Server esetén VIEW SERVER STATE
engedély szükséges.
az SQL Database Basic, S0 és S1 szolgáltatáscélokon, valamint az elastic poolokban lévő adatbázisoknál a Server admin
vagy Azure Active Directory admin
Fiók szükséges. Minden más SQL Database service célkitűzésnél a VIEW DATABASE STATE
engedély szükséges az adatbázisban.