1.索引分析

system:表仅有一行,基本用不到;
const:表最多一行数据配合,主键查询时触发较多;
eq_ref:对于每个来自于前面的表的行组合,从该表中读取一行。这可能是最好的联接类型,除了const类型;
ref:对于每个来自于前面的表的行组合,所有有匹配索引值的行将从这张表中读取;
range:只检索给定范围的行,使用一个索引来选择行。当使用=、<>、>、>=、<、<=、IS NULL、<=>、BETWEEN或者IN操作符,用常量比较关键字列时,可以使用range;
index:该联接类型与ALL相同,除了只有索引树被扫描。这通常比ALL快,因为索引文件通常比数据文件小;
all:全表扫描;
性能排名:system > const > eq_ref > ref > range > index > all。
实际sql优化中,最后达到ref或range级别。
首先分析sql执行计划

关注是否使用到索引,关联查询行数多少,索引类型
针对性优化

常见优化方式还是集中在关联字段的索引类型设置上

本文深入探讨了SQL查询中的索引分析,详细解释了不同类型的索引使用情况,如system、const、eq_ref、ref、range、index和all。性能排名为system > const > eq_ref > ref > range > index > all。优化目标是达到ref或range级别。关注点包括是否使用索引、关联查询效率及索引类型选择。常见的优化策略是调整关联字段的索引配置。
1528

被折叠的 条评论
为什么被折叠?



