我将使用这个简单的查询作为示例:
Select MyColumn From MyTable Where PrimaryKeyColumn = 10
。
假设该表没有聚簇索引,并且PrimaryKeyColumn
上有一个主键。
如果我理解正确,查询计划将使用某种行指针包括主键上的索引搜索和表上的书签查找。我有两个问题:
1)这个行指针是什么?
2)使用此行指针在表中查找行的效率如何?
非常感谢。
答案 0 :(得分:4)
堆上的书签(没有聚簇索引的表)是物理地址值(fileid:pageid:slotid)。实际上查找书签的速度非常快,比关键搜索更快,但是一个可能落在“forwarded record”上,当你漂洗循环时,它会留下另一个书签。并重复这个过程。制定需要大量查找的非聚集索引扫描的计划可能会触发“index tipping point”。