3

残念ながら、BOL はこれについて少しあいまいですが、テーブルindex_id = 0上にクラスター化インデックスがsys.indexesないsys.partitionsテーブル自体を参照しているように見えます。そうですか、何か不足していますか?

4

1 に答える 1

8

sys.indexes の index_id=0 はテーブル自体を参照していますか?

いいえ、ヒープ ベースのテーブルの場合は常に存在し、IAM (インデックス割り当てマップ) を参照します。クラスター化インデックスを持つテーブルの場合、存在しません。

「type_desc」がこれらのインデックスの HEAP であることに注意してください。Index Allocation Mapに関する非常に優れたブログ エントリがあります。

そのため、ヒープ テーブル (クラスター化インデックスを持たないテーブル) には常にエントリが 1 つのインデックスがindex_id = 0あり、クラスター化インデックスを含むテーブルには常に が含まれるエントリがありindex_id = 1ます。

于 2009-01-18T22:48:07.330 に答える