当然在查询中有的不可避免要执行索引回表读,那么什么情况下索引回表读的效率更高呢
回表查询的效率和聚合因子有关
如果某个索引列的列值在表中是有序存放的如1 到10000,我们知道索引列的值在索引中是有序存放的,表和索引两者的排列顺序相似度很高
我们就说聚合因子比较低
如果某个索引列的值在表中是无序存放的,那么表和索引的排列顺序的相似度很低,我们就说聚合因子较高
也可以通过查询数据字典得知聚合因子
clustering_factor : 官方解释 有多少临近的索引条目知道不同的数据块
通俗的讲索引块里有10个索引条目,如果聚合因子较低,那么这10个索引条目所指向的数据在同一个数据块中
如果聚合因子较高那么这10个索引条目所指向的数据在10个数据块中
那么怎样降低聚合因子呢,将经常查询的索引列尽量排列有序
时间: 2024-10-07 18:20:26