Udostępnij za pośrednictwem


sys.sysindexes (Transact-SQL)

Zawiera jeden wiersz dla każdego indeksu i tabela w bieżącej bazie danych.Indeksy XML nie są obsługiwane w tym widoku.Tabele podzielonym na partycje i indeksy nie są w pełni obsługiwane w tym widoku; Użyj sys.Indexes katalogu zamiast tego widoku.

Important noteImportant Note:

This SQL Server 2000 system table is included as a view for backward compatibility. We recommend that you use the current SQL Server system views instead. To find the equivalent system view or views, see Mapping SQL Server 2000 System Tables to SQL Server 2005 System Views. This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Nazwa kolumna

Typ danych

Description

Identyfikator

int

Identyfikator tabela, do której należy dany indeks.

Stan

int

Informacje o stanie systemu.

Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.

pierwszy

binary(6)

Wskaźnik do pierwszego lub strona głównej.

Gdy nieużywane indid = 0.

NULL = Index is partitioned when indid > 1.

Wartość NULL = tabela jest już podzielony na partycje przy indid jest równa 0 lub 1.

indid

smallint

Identyfikator indeksu:

0 = Sterty.

1 = indeks klastrowany

>1 = Indeks nieklastrowany

katalog główny

binary(6)

For indid >= 1, root is the pointer to the root page.

Gdy nieużywane indid = 0.

NULL = Index is partitioned when indid > 1.

Wartość NULL = tabela jest już podzielony na partycje przy indid jest równa 0 lub 1.

minlen

smallint

Minimalny rozmiar wiersza.

keycnt

smallint

Liczba kluczy.

GroupID

smallint

Identyfikator grupa plików, w którym obiekt został utworzony.

NULL = Index is partitioned when indid > 1.

Wartość NULL = tabela jest już podzielony na partycje przy indid jest równa 0 lub 1.

dpages

int

Dla indid = 0 or indid = 1, dpages wskazuje liczbę stron do danych używany.

For indid > 1, dpages is the count of index pages used.

0 = Index is partitioned when indid > 1.

0 = tabela jest podzielony na partycje przy indid jest równa 0 lub 1.

Nie dają dokładnych wyniki, jeśli występuje przepełnienie wiersza.

zarezerwowane

int

Dla indid = 0 or indid = 1, zarezerwowane wskazuje liczbę stron na wszystkie indeksy i dane tabela.

For indid > 1, reserved is the count of pages allocated for the index.

0 = Index is partitioned when indid > 1.

0 = tabela jest podzielony na partycje przy indid jest równa 0 lub 1.

Nie dają dokładnych wyniki, jeśli występuje przepełnienie wiersza.

używane

int

Dla indid = 0 or indid = 1, używane to liczba całkowita strony używane dla wszystkich danych indeksu i tabela.

For indid > 1, used is the count of pages used for the index.

0 = Index is partitioned when indid > 1.

0 = tabela jest podzielony na partycje przy indid jest równa 0 lub 1.

Nie dają dokładnych wyniki, jeśli występuje przepełnienie wiersza.

rowcnt

bigint

Liczba wierszy poziom danych na podstawie indid = 0 and indid = 1.

0 = Index is partitioned when indid > 1.

0 = tabela jest podzielony na partycje przy indid jest równa 0 lub 1.

rowmodctr

int

Licznik wskazuje całkowitą liczbę wierszy wstawianych, usunięte lub zaktualizowane od czas ostatniego statystyki czas zostały zaktualizowane w tabela.

0 = Index is partitioned when indid > 1.

0 = tabela jest podzielony na partycje przy indid jest równa 0 lub 1.

W SQL Server 2005 i jego nowszych wersji rowmodctr nie jest całkowicie zgodna ze starszymi wersjami.Aby uzyskać więcej informacji zobacz Spostrzeżenia.

xmaxlen

smallint

Maksymalny rozmiar wiersza

maxirow

smallint

Maksymalny rozmiar wiersza nonleaf indeksu.

W SQL Server 2005 i jego nowszych wersji maxirow nie jest całkowicie zgodna ze starszymi wersjami.

OrigFillFactor

tinyint

Oryginalna wartość współczynnik wypełnienia używane podczas tworzenia indeksu.Ta wartość nie jest zachowywane, jednak może być przydatne, jeśli trzeba ponownie utworzyć indeks, a nie pamięta wartość współczynnik wypełnienia, który został użyty.

StatVersion

tinyint

Zwraca wartość 0.

Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.

reserved2

int

Zwraca wartość 0.

Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.

FirstIAM

binary(6)

Wartość NULL = indeks jest już podzielony na partycje.

Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.

impid

smallint

Indeks flagi implementacji.

Zwraca wartość 0.

Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.

lockflags

smallint

Można ograniczyć granularities rozważenia blokada dla indeksu.Na przykład aby zminimalizować koszty blokowania, tabela odnośników, które jest zasadniczo tylko do odczytu może być ustawiono tylko tabela blokowania poziom.

pgmodctr

int

Zwraca wartość 0.

Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.

klucze

varbinary(816)

Lista identyfikatorów kolumna wchodzące w skład klucz indeksu kolumna.

Zwraca wartość NULL.

Aby wyświetlić kolumny kluczy indeksu, należy użyć sys.sysindexkeys.

Nazwa

sysname

Nazwa indeksu lub statystyki.Zwraca wartość NULL, gdy indid = 0.Modyfikowanie aplikacji do wyszukiwania nazw sterty wartości NULL.

statblob

image

Statystyki duży obiekt binarny (BLOB).

Zwraca wartość NULL.

maxlen

int

Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.

wiersze

int

Data-level row count based on indid = 0 and indid = 1, and the value is repeated for indid >1.

Remarks

Nie należy używać kolumn zdefiniowanych jako zastrzeżony.

We wcześniejszych wersjach SQL Server, każdą tabela, która była co najmniej jeden text, ntext, lub image Kolumna także zawiera wiersz w sysindexes with indid = 255.Identyfikator ten indeks już istnieje.Jeśli tabela lub indeksu ma jeden lub więcej typów danych dużych obiektów (LOB), LOB_DATA jednostka alokacji dla każdej partycji jest przydzielany do zarządzania przechowywania tych danych.Aby uzyskać więcej informacji zobaczOrganizacja indeksu i tabela.

W kolumnach dpages, zarezerwowane, and używane nie będzie zwracać wyniki dokładne, jeśli tabela lub indeks zawiera dane w jednostce alokacji ROW_OVERFLOW.Ponadto strona liczniki dla każdego indeksu są śledzone niezależnie i nie są kumulowane w tabela bazowa.Aby wyświetlić liczby stron, należy użyć sys.allocation_units or sys.Partitions widoki wykazu lub sys.dm_db_partition_stats dynamicznego zarządzania widoku.

We wcześniejszych wersjach SQL Server, Database Engine obsługiwane liczniki modyfikacji poziom wiersza. Takie liczniki są obecnie obsługiwane poziom kolumna.Dlatego też rowmodctr kolumna jest obliczana i daje wyniki, które są podobne do wyników w starszych wersjach, ale nie są dokładne.

Jeśli używasz wartości rowmodctr , aby określić, kiedy aktualizacja statystyki, należy wziąć pod uwagę następujące rozwiązania:

  • Nic nie rób.Nowy rowmodctr wartość często pomoże określić, kiedy aktualizacja statystyki ponieważ zachowanie racjonalnie jest zbliżone do wyniki wcześniejszych wersji.

  • Za pomocą AUTO_UPDATE_STATISTICS.Aby uzyskać więcej informacji, zobacz Using Statistics to Improve Query Performance.

  • Umożliwia ustalenie czas aktualizacja statystyki limitu czas.Na przykład co godzinę, codziennie lub co tydzień.

  • Informacje poziom aplikacji służy do ustalenia, kiedy aktualizować dane statystyczne.Na przykład, za każdym razem maksymalną wartość identity kolumna zmieni się przez więcej niż 10 000 lub odbywa się za każdym razem zbiorczej wstawić operacji.