07.索引-非聚集索引(3)-Key Lookup &RID Lookup

 
如果存在聚集索引并且查找的列不在 非聚集索引的键列中
 
 
而在没有聚集索引的表中 使用RID Lookup
 
 
 
书签查找可能因为开销过大导致一些查询直接进行表扫描
 
聚集索引所有数据都在索引中(数据页也是索引的一部分),因此可以直接通过聚集索引找到所有的列
定位到索引,也就意味着数据找到了
 
但是非聚集索引定位到索引后,需要在根据索引记录的RID或者Key 查找数据行,势必会导致一次数据页的I/O
数据行过多,形成的数据页IO也会非常大
当数据过大,IO反而可能超过直接进行页扫描的开销,因此系统会选择进行页扫描
 
因此书签查找是不可预知的,需要尽量避免
 
原文地址:https://www.cnblogs.com/ywnwa417/p/6035255.html