🔩MySQL 性能优化
目录
查询优化
查询语句使用原则:
范围查询的列放到索引列的最后面:MySQL 会一直向右利用索引匹配直到遇到范围查询(>、<、between、like)就停止匹配,所以如果将范围放在前面,后面的索引将无法使用。
PS:这里的范围查询是不包括 in 的,in 是指多个等值条件查询,不对联合索引的匹配造成影响。但是通过 explain 分析执行计划时无法区别范围查询和多个等值查询(统一显示为 range)
= 和 in 可以乱序:MySQL 的查询优化器会帮你优化成索引可以识别的形式。根据经验是将业务中使用到的查询里最常用的列放在前面,这样可以尽量使用到该索引。
字符串通配符尽量后置:Like 查询如果使用
%s%
这种格式,非最左前缀匹配将无法使用到索引。