sys.sysindexes (Transact-SQL)

Van toepassing op:SQL Server

Bevat één rij voor elke index en tabel in de huidige database. XML-indexen worden in deze weergave niet ondersteund. Gepartitioneerde tabellen en indexen worden in deze weergave niet volledig ondersteund; Gebruik in plaats daarvan de katalogusweergave van sys.indexes .

Important

Deze SQL Server 2000-systeemtabel is opgenomen als weergave voor achterwaartse compatibiliteit. We raden aan om in plaats daarvan de huidige SQL Server-systeemweergaven te gebruiken. Om de equivalente systeemweergave of weergaven te vinden, zie Mapping System Tables to System Views (Transact-SQL). Deze functie wordt verwijderd in een toekomstige versie van Microsoft SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.

Kolomnaam Gegevenstype Description
id int ID van de tabel waartoe de index behoort.
Status int Systeemstatusinformatie.

Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
first binair(6) Wijs naar de eerste of rootpagina.

Ongebruikt wanneer indid = 0.

NULL = Index wordt gepartitioneerd wanneer indid> 1.

NULL = Tabel wordt gepartitioneerd wanneer indid 0 of 1 is.
Indid smallint ID van de index:

0 = Heap

1 = Geclusterde index

>1 = Niet-geclusterde index
wortel binair(6) Voor indid>= 1 is wortel de verwijzing naar de wortelpagina.

Ongebruikt wanneer indid = 0.

NULL = Index wordt gepartitioneerd wanneer indid> 1.

NULL = Tabel wordt gepartitioneerd wanneer indid 0 of 1 is.
Minlen smallint Minimale grootte van een rij.
Keycnt smallint Aantal sleutels.
Groupid smallint Bestandsgroep-ID waarop het object is aangemaakt.

NULL = Index wordt gepartitioneerd wanneer indid> 1.

NULL = Tabel wordt gepartitioneerd wanneer indid 0 of 1 is.
dpages int Voor indid = 0 of indid = 1 is dpages het aantal gebruikte datapagina's.

Voor indid> 1 is dpages het aantal gebruikte indexpagina's.

0 = Index wordt gepartitioneerd wanneer indid> 1.

0 = Tabel wordt gepartitioneerd wanneer indid 0 of 1 is.

Levert geen nauwkeurige resultaten op als er een rijoverloop optreedt.
gereserveerd int Voor indid = 0 of indid = 1 is gereserveerd het aantal pagina's dat is toegewezen voor alle indexen en tabelgegevens.

Voor indid> 1 is gereserveerd het aantal pagina's dat voor de index is toegewezen.

0 = Index wordt gepartitioneerd wanneer indid> 1.

0 = Tabel wordt gepartitioneerd wanneer indid 0 of 1 is.

Levert geen nauwkeurige resultaten op als er een rijoverloop optreedt.
Gebruikt int Voor indid = 0 of indid = 1 wordt gebruikt het aantal gebruikte pagina's voor alle index- en tabelgegevens.

Voor indid> 1 wordt het aantal pagina's gebruikt voor de index.

0 = Index wordt gepartitioneerd wanneer indid> 1.

0 = Tabel wordt gepartitioneerd wanneer indid 0 of 1 is.

Levert geen nauwkeurige resultaten op als er een rijoverloop optreedt.
Rowcnt bigint Aantal rijen op dataniveau gebaseerd op indid = 0 en indid = 1.

0 = Index wordt gepartitioneerd wanneer indid> 1.

0 = Tabel wordt gepartitioneerd wanneer indid 0 of 1 is.
rowmodctr int Telt het totale aantal ingevoegde, verwijderde of bijgewerkte rijen sinds de laatste keer dat statistieken voor de tabel zijn bijgewerkt.

0 = Index wordt gepartitioneerd wanneer indid> 1.

0 = Tabel wordt gepartitioneerd wanneer indid 0 of 1 is.

In SQL Server 2005 (9.x) en later is rowmodctr niet volledig compatibel met eerdere versies. Zie Opmerkingen voor meer informatie.
gereserveerd3 int Geeft 0 terug.

Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
gereserveerd4 int Geeft 0 terug.

Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
xmaxlen smallint Maximale grootte van een rij
Maxirow smallint Maximale grootte van een niet-bladindexrij.

In SQL Server 2005 (9.x) en later is maxirow niet volledig compatibel met eerdere versies.
OrigFillFactor tinyint Oorspronkelijke vulfactorwaarde die werd gebruikt toen de index werd aangemaakt. Deze waarde wordt niet gehandhaafd; Het kan echter nuttig zijn als je een index opnieuw moet maken en de gebruikte vulfactorwaarde niet meer herinnert.
StatVersion tinyint Geeft 0 terug.

Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
gereserveerd2 int Geeft 0 terug.

Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
FirstIAM- binair(6) NULL = Index is gepartitioneerd.

Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
onwettig smallint Indeximplementatievlag.

Geeft 0 terug.

Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
Lockflags smallint Gebruikt om de beschouwde lockgranulariteiten voor een index te beperken. Om bijvoorbeeld de vergrendelingskosten te minimaliseren, zou een opzoektabel die in wezen alleen-lezen is, kunnen worden ingesteld om alleen tabelniveau-vergrendeling te doen.
pgmodctr int Geeft 0 terug.

Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
Sleutels varbinair (816) Lijst van de kolom-ID's van de kolommen die de indexsleutel vormen.

Retourneert NULL.

Om de kolommen van de indexsleutel weer te geven, gebruik sys.sysindexkeys.
name sysname Naam van de index of statistiek. Geeft NULL terug wanneer indid = 0. Pas je applicatie aan om te zoeken naar een NULL heapnaam.
statblob image Statistiek binair groot object (BLOB).

Retourneert NULL.
Maxlen int Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
Rijen int Op dataniveau rijtelling gebaseerd op indid = 0 en indid = 1, en de waarde wordt herhaald voor indid>1.

Remarks

Kolommen die als gereserveerd zijn gedefinieerd, mogen niet worden gebruikt.

De kolommen dpages, gereserveerd en gebruikt geven geen nauwkeurige resultaten als de tabel of index gegevens bevat in de ROW_OVERFLOW allocatie-eenheid. Daarnaast worden de paginatellingen voor elke index afzonderlijk bijgehouden en niet geaggregeerd voor de basistabel. Om paginatellingen te bekijken, gebruik je de catalogusweergaven sys.allocation_units of sys.partitions , of de sys.dm_db_partition_stats dynamische beheerweergave.

In SQL Server 2000 en eerder hield de Database Engine rijniveau-modificatietellers bij. Dergelijke tellers worden nu op kolomniveau gehandhaafd. Daarom wordt de kolom rowmodctr berekend en levert resultaten op die vergelijkbaar zijn met de resultaten in eerdere versies, maar niet exact zijn.

Als je de waarde in rowmodctr gebruikt om te bepalen wanneer statistieken moeten worden bijgewerkt, overweeg dan de volgende oplossingen:

  • Doe niets. De nieuwe rowmodctr-waarde helpt je vaak te bepalen wanneer je statistieken moet bijwerken, omdat het gedrag redelijk dicht bij de resultaten van eerdere versies ligt.

  • Gebruik AUTO_UPDATE_STATISTICS. Voor meer informatie, zie Statistieken.

  • Gebruik een tijdslimiet om te bepalen wanneer je statistieken moet bijwerken. Bijvoorbeeld, elk uur, elke dag of elke week.

  • Gebruik applicatie-informatie om te bepalen wanneer statistieken moeten worden bijgewerkt. Bijvoorbeeld, elke keer dat de maximale waarde van een identiteitskolom met meer dan 10.000 verandert, of elke keer dat een bulk-insertbewerking wordt uitgevoerd.