sys.indexes中的index_id = 0是否引用表本身?

时间:2009-01-18 21:49:17

标签: sql-server sql-server-2005 data-dictionary

不幸的是,BOL对此有点模糊,但index_id = 0sys.indexes上的sys.partitions似乎是指表格本身没有聚集索引的表格。是的 - 或者我错过了什么?

1 个答案:

答案 0 :(得分:8)

  

sys.indexes中的index_id = 0是否引用   到桌子本身?

不,对于基于堆的表,它将始终存在,并且它引用IAM(索引分配映射)。对于具有聚簇索引的表,它将不存在。

请注意,“type_desc”是这些索引上的HEAP,有一个关于Index Allocation Map的非常好的博客条目。

因此,堆表(没有聚簇索引的表)将始终具有一个条目index_id = 0的索引,而具有聚簇索引的表将始终具有index_id = 1的条目。