Articles

sys.dm_db_missing_index_details (Transact-SQL)

Posted by admin
  • 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.

in de Azure SQL-Database kunnen dynamische beheerweergaven geen informatie blootleggen die van invloed zou zijn op de insluiting van de database of informatie blootleggen over andere databases waartoe de gebruiker toegang heeft. Om te voorkomen dat deze informatie wordt onthuld, wordt elke rij die gegevens bevat die niet van de verbonden huurder zijn, uitgefilterd.

kolom Naam gegevenstype beschrijving
index_handle Int identificeert een bepaalde ontbrekende index. De identifier is uniek op de server. index_handle is de sleutel van deze tabel.
database_id smallint identificeert de database waar de tabel met de ontbrekende index zich bevindt.
object_id int geeft de tabel aan waarin de index ontbreekt.
equality_columns nvarchar (4000) door komma ‘ s gescheiden lijst van kolommen die bijdragen aan gelijkheidspredicaten van de vorm:
tabel.kolom = constant_value
inequality_columns nvarchar (4000) kommagescheiden lijst van kolommen die bijdragen aan ongelijkheid predicaten, bijvoorbeeld predicaten van de vorm:
tabel.kolom > constant_value
elke vergelijkingsoperator anders dan ” = ” drukt ongelijkheid uit.
included_columns nvarchar (4000) door komma ‘ s gescheiden lijst van kolommen die nodig zijn voor de query. Zie indexen maken met meegeleverde kolommen voor meer informatie over kolommen bedekken of opnemen.
voor geheugen-geoptimaliseerde indexen (zowel hash als geheugen-geoptimaliseerd niet-geclusterd), negeer included_columns. Alle kolommen van de tabel zijn opgenomen in elke geheugen-geoptimaliseerde index.
verklaring nvarchar (4000) naam van de tabel waar de index ontbreekt.

opmerkingen

informatie geretourneerd door sys. dm_db_missing_index_details wordt bijgewerkt wanneer een query is geoptimaliseerd door de query optimizer, en wordt niet voortgezet. Ontbrekende indexinformatie wordt alleen bewaard totdat SQL Server opnieuw wordt gestart. Databasebeheerders moeten periodiek back-ups maken van de ontbrekende indexinformatie als ze deze na serverrecycling willen behouden.

om te bepalen van welke ontbrekende indexgroepen een bepaalde ontbrekende index deel uitmaakt, kunt u de dynamische beheerweergave sys.dm_db_missing_index _groups opvragen door deze te combineren met sys.dm_db_missing_index _details op basis van de kolom index_handle.

Noot

het resultaat voor deze DMV is beperkt tot 600 rijen. Elke rij bevat een ontbrekende index. Als u meer dan 600 ontbrekende indexen hebt, moet u de bestaande ontbrekende indexen aanpakken, zodat u vervolgens de nieuwere indexen kunt bekijken.

gebruik makend van ontbrekende Indexinformatie in CREATE INDEX Statements

om de informatie die door sys.dm_db_missing_index_details wordt geretourneerd om te zetten in een CREATE INDEX statement voor zowel geheugen-geoptimaliseerde als schijf-gebaseerde indexen, moeten gelijkheidskolommen vóór de ongelijkheid kolommen worden geplaatst, en samen moeten ze de sleutel van de index vormen. Opgenomen kolommen moeten worden toegevoegd aan de CREATE INDEX statement met behulp van de INCLUDE clausule. Om een effectieve volgorde voor de gelijkheidskolommen te bepalen, ordent u ze op basis van hun selectiviteit: lijst eerst de meest selectieve kolommen (meest links in de kolomlijst).

voor meer informatie over geheugen geoptimaliseerde indexen, zie indexen voor geheugen geoptimaliseerde tabellen.

Transactieconsistentie

als een transactie een tabel maakt of laat vallen, worden de rijen met ontbrekende indexinformatie over de weggevallen objecten uit dit dynamische beheerobject verwijderd, waarbij de transactieconsistentie behouden blijft.

Machtigingen

op SQL Server, vereist VIEW SERVER STATE toestemming.
voor SQL Database Basic -, S0-en S1-servicedoelstellingen en voor databases in elastische groepen is het Server admin – of een Azure Active Directory admin – account vereist. Op alle andere SQL Database service doelstellingen, is de VIEW DATABASE STATE toestemming vereist in de database.

Zie Ook

Related Post

Leave A Comment