假设我们的表A包含列col1,col2和col3 . 我们在col2上有非聚集索引(3个级别) . 当您使用非聚集索引进行搜索并希望返回col3的值时,它会从索引读取3页,然后通过引用移动到数据库并读取另外一页 .
现在让我们假设我们在col1上也有聚簇索引 . 然后,对于相同的搜索,它将从非聚集索引中读取3个页面,然后在聚簇索引中进行密钥查找(至少另外3个页面) .
因此,聚集索引会增加成本 . 我对吗?
是 . 我将这种(经常被忽略的)现象称为“聚集索引惩罚” .
这是我写的一篇文章,也有一些基准:http://use-the-index-luke.com/blog/2014-01/unreasonable-defaults-primary-key-clustering-key
1 回答
是 . 我将这种(经常被忽略的)现象称为“聚集索引惩罚” .
这是我写的一篇文章,也有一些基准:http://use-the-index-luke.com/blog/2014-01/unreasonable-defaults-primary-key-clustering-key