- 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.
Azure SQL-tietokannassa dynaamiset hallintanäkymät eivät voi paljastaa tietoja, jotka vaikuttaisivat tietokannan hallintaan tai paljastaa tietoja muista tietokannoista, joihin käyttäjällä on pääsy. Jotta näitä tietoja ei paljastettaisi, jokainen rivi, joka sisältää tietoja, jotka eivät kuulu kytkettyyn vuokralaiseen, suodatetaan pois.
sarakkeen nimi | tietotyyppi | kuvaus |
---|---|---|
index_handle | int | yksilöi tietyn puuttuvan indeksin. Tunniste on yksilöllinen koko palvelimella. index_handle on tämän taulukon avain. |
database_id | smallint | yksilöi tietokannan, jossa puuttuvan indeksin sisältävä taulukko sijaitsee. |
object_id | int | ilmoittaa taulukon, jossa indeksi puuttuu. |
equality_columns | nvarchar(4000) | pilkulla erotettu luettelo sarakkeista, jotka edistävät yhtäläisyyden predikaatteja muodossa: taulukko.sarake = constant_value |
inequality_columns | nvarchar(4000) | pilkulla erotettu luettelo sarakkeista, jotka edistävät epäyhtälön predikaatteja, esimerkiksi predikaatit muodossa: taulukko.sarake > constant_value mikä tahansa muu vertailuoperaattori kuin ” = ” ilmaisee epäyhtälöä. |
included_columns | nvarchar(4000) | pilkulla erotettu luettelo sarakkeista, joita tarvitaan kyselyn peittäviksi sarakkeiksi. Lisätietoja kattavista tai sisältävistä sarakkeista on ohjeaiheessa indeksien luominen sisältyvillä sarakkeilla. muistioptimoiduille indekseille (sekä hash-että muistioptimoiduille nonclustered-indekseille), ohita included_columnit. Taulukon kaikki sarakkeet sisältyvät jokaiseen muistiin optimoituun indeksiin. |
lausunto | nvarchar (4000) | sen taulukon nimi, josta indeksi puuttuu. |
huomautukset
SYS.dm_db_missing_index_detailsin palauttamat tiedot päivitetään, kun kyselyn optimoija on optimoinut kyselyn, eikä sitä jatketa. Puuttuvat indeksitiedot säilytetään vain, kunnes SQL Server käynnistetään uudelleen. Tietokannan ylläpitäjien tulisi tehdä säännöllisesti varmuuskopioita puuttuvista indeksitiedoista, jos he haluavat säilyttää ne palvelimen kierrätyksen jälkeen.
selvittääksesi, mihin puuttuviin indeksiryhmiin jokin puuttuva indeksi kuuluu, voit kysellä SYS. dm_db_missing_index_groups dynamic management-näkymää yhtäaikaisesti sen kanssa SYS. dm_db_missing_index_details perustuen index_handle-sarakkeeseen.
Huomautus
tämän DMV: n tulosjoukko on rajoitettu 600 riviin. Jokainen rivi sisältää yhden puuttuvan indeksin. Jos sinulla on yli 600 puuttuvaa indeksiä, sinun pitäisi käsitellä olemassa olevia puuttuvia indeksejä, jotta voit tarkastella uudempia.
käyttämällä puuttuvaa Indeksitietoa CREATE INDEX Statements
sys.dm_db_missing_index_detailsin palauttamaa tietoa CREATE INDEX statementiksi sekä muisti-optimoiduille että levypohjaisille indekseille, tasa-arvo-sarakkeet tulisi laittaa epäyhtälön sarakkeiden eteen, ja yhdessä niiden tulisi muodostaa indeksin avain. Mukana olevat sarakkeet lisätään CREATE INDEX-lausekkeeseen INCLUDE-lauseketta käyttäen. Jos haluat määrittää tasa-arvo-sarakkeiden tehokkaan järjestyksen, järjestä ne niiden valikoivuuden perusteella: luetteloi valikoivimmat sarakkeet ensin (sarakeluettelon vasemmanpuoleisin).
lisätietoja muistioptimoiduista indekseistä on Muistioptimoitujen taulukoiden indekseissä.
Tapahtuman johdonmukaisuus
jos tapahtuma luo tai pudottaa taulukon, rivit, jotka sisältävät puuttuvia indeksitietoja pudotetuista kohteista, poistetaan tästä dynaamisesta hallintaobjektista, säilyttäen tapahtumien johdonmukaisuuden.
käyttöoikeudet
SQL Server-palvelimella, vaatii VIEW SERVER STATE
luvan.
SQL-tietokannan Basic -, S0-ja S1-palvelutavoitteissa sekä elastic poolien tietokannoissa vaaditaan Server admin
tai Azure Active Directory admin
– tili. Kaikkiin muihin SQL-tietokantapalvelun tavoitteisiin tarvitaan VIEW DATABASE STATE
– lupa tietokannassa.