Указывает ли index_id = 0 в sys.indexes на саму таблицу? - PullRequest
2 голосов
/ 19 января 2009

К сожалению, BOL немного расплывчат в этом, но index_id = 0 на sys.indexes или sys.partitions, по-видимому, относится к самой таблице, где нет кластерного индекса в таблице. Правда - или я что-то упустил?

1 Ответ

8 голосов
/ 19 января 2009

Указывает ли index_id = 0 в sys.indexes к самому столу?

Нет, для таблиц на основе кучи он всегда будет существовать и ссылается на IAM (Карта распределения индекса). Для таблиц с кластерными индексами он не будет существовать.

Обратите внимание, что "type_desc" является HEAP для этих индексов, в блоге есть действительно хорошая запись о Карта распределения индекса .

Таким образом, таблицы кучи (таблицы без кластеризованного индекса) всегда будут иметь один индекс с записью index_id = 0, а таблицы с кластеризованными индексами всегда будут иметь запись с index_id = 1.

...