1.避免使用 select *
2.小表驱动大表(in
前面大表,后面小表;exists
前面小表,后面大表)
3.连接查询代替子查询
4.join
的表不宜过多(根据阿里巴巴规范,join
的表数量不应超过3个)
5.选择合理的字段类型(尽可能用数字类型替代字符型;尽可能使用小的类型,如:bit
存布尔值,tinyint
存枚举值等;字符串长度固定用char
,长度可变用varchar
;金额字段用decimal
,避免精度丢失)
6.多用limit
7.除特殊的去重场景,用union all
代替union
8.索引优化(可使用explain
命令,查看sql
的执行情况)