SQL 优化
1、查询语句中不要使用 select * 2、尽量减少子查询,使用关联查询(left join,right join,inner join)替
代
3、减少使用 IN 或者 NOT IN ,使用 exists,not exists 或者关联查询语句替代
4、or 的查询尽量用 union 或者 union all 代替(在确认没有重复数据或者不用剔除重复数据时,union all
会更好)
5、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
6、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫
描,如: select id from t where num is null 可以在 num 上设置默认值 0,确保表中 num 列没有
null 值,然后这样查询: select id from t where num=0
7、like ‘%xx%’尽量改成‘xx%’,以%开头无法命中索引,如确实要用’%xx%’可使用外部全文索引技术,如:
Lucene 、Elasticsearch
8、使用 explain