MySQL查询优化要点总结
- 避免在
where
语句里使用冗余的条件 - 优先选择
int
型建立索引(而非varchar
或text
) - 尽量扩展索引而不是新建索引,如原来有
a
的索引,修改为(a,b)
- 注意查询条件的从左至右匹配原则,能使用索引的条件应先放到左边
- 若非必要,优先使用
union all
而非union
- 避免使用
like %term
查询:无法使用索引 - 避免在SQL中执行运算
where
语句里不要有函数explain
结果中出现using temporary
,type=full, using filesort
时需要优化- 能用
enum
的地方不要用varchar
- 子查询数据量大时,用
exists
代替in