当前位置: 代码迷 >> Sql Server >> 堆上的非集聚索引和聚集索引上的非聚集索引哪个效率高
  详细解决方案

堆上的非集聚索引和聚集索引上的非聚集索引哪个效率高

热度:126   发布时间:2016-04-24 08:48:24.0
堆上的非聚集索引和聚集索引上的非聚集索引哪个效率高
据我所知,聚集索引上的非聚集索引叶级是聚集索引键,而堆上的非聚集索引叶级是行地址,总感觉后者更直接也更快,不过我想微软在设计 聚集索引上的非聚集索引 的时候没有在叶级上放行地址自然有他的道理,但是一直没能想明白,求大神指教
------解决思路----------------------
当没有聚集索引的时候,使用物理地址,也就是RID来做书签查找。而当表中存在聚集索引,就使用聚集索引键了
因为表中没有聚集索引的时候,不需要表中数据有序,所以这个RID几乎很少变动
而使用了聚集索引,表中数据的物理位置因为需要保证按聚集索引建有序,所以对应的RID会频繁变动,如果你非聚集索引指向的是RID的话,那非聚集索引不得没事天天变。这回造成很大的性能问题。
  相关解决方案