MySql优化策略
前言
MySql优化策略的方法,供大家参考
# 一、慢查询的原因 ## 1.无索引或查询没有使用索引 ## 2.表或表字段字符集不同,导致不走索引
二、SQL优化策略
1.全值匹配
2.最佳左前缀法则
如果索引了多列,要遵守最左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列。
3.避免索引列操作
不在索引列上做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描
4.范围条件放最后
存储引擎不能使用索引中范围条件右边的列
5.覆盖索引
尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少select *
即返回索引列
6.慎用不等于<>
在使用不等于(!= 或者<>)的时候无法使用索引会导致全表扫描
7.Null/Not 有影响
字段默认为Null或not null,会影响索引
8.Like查询要当心
like以通配符开头(’%abc…’)mysql索引失效会变成全表扫描的操作
尽量使用右侧%
9.字符类型加引号
字符串不加单引号会导致索引失效
10.OR改UNION效率高
总结
以上仅经验之谈,肯定有许多未遇到的问题,欢迎批评指教