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 są nie w pełni obsługiwane w tym widoku; za pomocą sys.indexes katalogu zamiast tego widoku.

Ważna informacjaWażne:

Ta tabela systemowa programu SQL Server 2000 została uwzględniona jako widok w celu zachowania zgodności z poprzednimi wersjami. Zaleca się używanie zamiast niej bieżących widoków systemowych programu SQL Server. Aby odnaleźć odpowiednie widoki systemowe, zobacz temat Mapowanie tabel systemowych programu SQL Server 2000 na widoki systemowe programu SQL Server 2005. Ta funkcja zostanie usunięta z przyszłej wersji programu Microsoft SQL Server. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.

Nazwa kolumny

Typ danych

Opis

Identyfikator

int

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

Stan

int

Informacje o stanie systemu.

Określone tylko w celach informacyjnych. Nieobsługiwane. Przyszła zgodność nie jest gwarantowana.

pierwszy

binary(6)

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

Gdy nieużywane indid = 0.

NULL = indeks jest podzielony na partycje po indid > 1.

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

indid

smallint

Identyfikator indeksu:

0 = Sterty

1 = Indeks Clustered

>1 = Indeks nieklastrowany

katalog główny

binary(6)

Dla indid >= 1, głównego jest wskaźnik do głównej strona.

Gdy nieużywane indid = 0.

NULL = indeks jest podzielony na partycje po indid > 1.

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

minlen

smallint

Minimalny rozmiar wiersza.

keycnt

smallint

Liczba klawiszy.

identyfikatorem GroupID

smallint

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

NULL = indeks jest podzielony na partycje po indid > 1.

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

dpages

int

Dla indid = 0 lub indid = 1, dpages jest liczba stron danych używanych.

Dla indid > 1, dpages jest licznik strony indeksu.

0 = Indeks jest podzielony na partycje po indid > 1.

0 = Tabela jest podzielony na partycje po indid jest równa 0 lub 1.

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

zarezerwowane

int

Dla indid = 0 lub indid = 1, zarezerwowane jest liczba przydzielonych wszystkie indeksy i dane tabela stron.

Dla indid > 1, zarezerwowane jest liczba przydzielonych dla indeksu stron.

0 = Indeks jest podzielony na partycje po indid > 1.

0 = Tabela jest podzielony na partycje po indid jest równa 0 lub 1.

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

używany

int

Dla indid = 0 lub indid = 1, używane jest licznik Całkowita liczba stron używany dla wszystkich danych indeksu i tabela .

Dla indid > 1, używane jest liczba stron używanych dla indeksu.

0 = Indeks jest podzielony na partycje po indid > 1.

0 = Tabela jest podzielony na partycje po indid jest równa 0 lub 1.

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

rowcnt

bigint

Dane -poziom liczba wierszy na podstawie indid = 0 i indid = 1.

0 = Indeks jest podzielony na partycje po indid > 1.

0 = Tabela jest podzielony na partycje po indid jest równa 0 lub 1.

rowmodctr

int

Licznik Całkowita liczba wstawiony, usunięty lub zaktualizowane od czasu ostatniego statystyki czas zostały zaktualizowane w tabelawierszy.

0 = Indeks jest podzielony na partycje po indid > 1.

0 = Tabela jest podzielony na partycje po indid jest równa 0 lub 1.

W SQL Server 2005 i nowszych, rowmodctr nie jest w pełni zgodne ze starszymi wersjami.Aby uzyskać więcej informacji zobacz Spostrzeżenia.

xmaxlen

smallint

Maksymalny rozmiar wiersza

maxirow

smallint

Maksymalny rozmiar wiersza indeksu nie typu liść.

W SQL Server 2005 i nowszych, maxirow nie jest w pełni zgodne ze starszymi wersjami.

OrigFillFactor

tinyint

Oryginalna wartość współczynnik wypełnienia używane podczas tworzenia indeksu.Wartość ta nie zostanie podtrzymana; 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.

Określone tylko w celach informacyjnych. Nieobsługiwane. Przyszła zgodność nie jest gwarantowana.

Zarezerwowane2

int

Zwraca wartość 0.

Określone tylko w celach informacyjnych. Nieobsługiwane. Przyszła zgodność nie jest gwarantowana.

FirstIAM

binary(6)

NULL = indeks jest podzielony na partycje.

Określone tylko w celach informacyjnych. Nieobsługiwane. Przyszła zgodność nie jest gwarantowana.

impid

smallint

Flaga implementacji indeksu.

Zwraca wartość 0.

Określone tylko w celach informacyjnych. Nieobsługiwane. Przyszła zgodność nie jest gwarantowana.

lockflags

smallint

Można ograniczyć szczegółowości rozważanego blokada dla indeksu.Na przykład, aby zminimalizować koszty blokowania, wyszukiwania tabela , która jest zasadniczo tylko do odczytu może być zestaw tylko do tabela-poziom blokowania.

pgmodctr

int

Zwraca wartość 0.

Określone tylko w celach informacyjnych. Nieobsługiwane. Przyszła zgodność nie jest gwarantowana.

klucze

varbinary(816)

Lista kolumna identyfikatory kolumn tworzących indeks klucz.

Zwraca wartość NULL.

Aby wyświetlić kolumny klucz indeksu, użyj sys.sysindexkeys.

name

sysname

Nazwa indeksu lub statystyki.Zwraca wartość NULL, gdy indid = 0.Zmodyfikować aplikację, aby wyszukać nazwę sterty NULL.

statblob

image

Statystyki duży obiekt binarny (BLOB).

Zwraca wartość NULL.

maxlen

int

Określone tylko w celach informacyjnych. Nieobsługiwane. Przyszła zgodność nie jest gwarantowana.

wiersze

int

Dane -poziom liczba wierszy na podstawie indid = 0 i indid = 1, a wartość jest powtarzana dla indid >1.

Uwagi

Nie należy używać kolumny zdefiniowane jako zastrzeżone.

W starszych wersjach SQL Server, każdej tabela , który miał co najmniej jeden text, ntext, lub image kolumna miałaby również wiersza w sysindexes z indid = 255.Ten identyfikator indeksu już nie istnieje.Po tabela lub indeksu ma jeden lub więcej dużego obiektu (LOB) typy danych, LOB_DATA jednostka alokacji dla każdej partycji jest przydzielany do zarządzania magazynem danych.Aby uzyskać więcej informacji, zobacz Organizacji indeksu i tabeli.

Kolumny dpages, zarezerwowane, i używane nie zwróci dokładnych wyniki , jeśli tabela lub indeks zawiera dane w ROW_OVERFLOW jednostka alokacji.Ponadto liczby strona dla każdego indeksu są śledzone oddzielnie i nie są łączone w tabela bazowa.Aby wyświetlić liczniki strona , użyj sys.allocation_units lub sys.partitions widoki wykazulub sys.dm_db_partition_stats dynamiczny widok zarządzania.

W starszych wersjach SQL Server, Aparat baz danych utrzymywane wiersza -poziom modyfikacji liczników.Takie liczniki są teraz obsługiwane napoziom kolumna. W związku z tym rowmodctr kolumna jest obliczany i daje wyniki podobne do wyniki w starszych wersjach, ale nie są dokładne.

Jeśli wartość w rowmodctr do określenia do 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ć do aktualizacja statystyki ponieważ zachowanie rozsądnie jest zbliżone do wyniki wcześniejszych wersji.

  • Za pomocą AUTO_UPDATE_STATISTICS.Aby uzyskać więcej informacji, zobacz Aby poprawić wydajność kwerendy przy użyciu statystyk.

  • Umożliwia określenie, aby aktualizacja statystykilimit czas .Na przykład co godzinę, codziennie lub co tydzień.

  • Informacjepoziom aplikacji — umożliwia określenie, aby aktualizacja statystyki.Na przykład co czas maksymalną wartość z identity kolumna zmiany przez więcej niż 10 000 lub wykonywane za każdym czas zbiorczej operacji wstawiania.