集群因子对索引性能的影响
我是本际云服务器推荐网的小编小本本,最近在学习sql优化,好奇集群因子对索引性能的影响。首先介绍一下什么是集群因子。官网文档上原文:Ameasureoftheroworderinrelationtoanindexedvaluesuchaslastname。Themoreorderthatexistsinrowstorageforthisvalue,thelowertheclusteringfactor。简而言之,当使用索引对表进行扫描时,需要扫描表的数据块的数量。该值越小越好。

通过实验确定集群因子的作用和影响
通过下面的小实验来确定其作用和影响:
- 创建两张表t1,t2,t2根据object_id排序创建;
- 创建索引;
- 查询索引集群因子;
- 测试结论。
可以看出一致读相差两倍,影响集群因子的主要因素是索引上连续行对应的rowid是否分布在相同的块上,如果不在同一个块上,对应的集群因子则加1。上述实验中表tab2的创建是根据排序后的列DATA_OBJECT_ID,则索引的集群因子比排序的小。假设返回的行rowid在1个块里,则只需要回表一次,rowid在10个块里则需要回表10次。当然,所查数据都在buffercache中则集群因子不影响性能。走唯一索引也不影响。集群因子在表创建时就决定了,只能通过orderby排序后创建才能更改。
想了解更多IT相关的内容,可以关注“IT那活儿”公众号。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6444.html
