几点mysql查询优化经验

类别:设计模式  阅读:266  发布时间:Wed Mar 07 22:19:17 CST 2018

1. 查询时columns越少越好,少用*。

2. 查询时尽量带上能命中索引的where条件。

3. 尽量不用 like '%xxx'、not in、!=、where md5(xxx) 等,会使索引失效。

4. 查询时尽量多带筛选条件,过滤数据。

5. 尽量选择区分度高的列作为索引,区分度的公式是count(distinct col)/count(*)。

6. 要添加列索引时,尽量在原有的索引上加。

7. 组合索引要注意最左匹配原则,左边的索引字段缺少会导致右边的索引字段也失效。

8. 在适合的场景下,可使用空间换时间,将底层数据根据查询需求向上汇总出新表。

9. 表数据多的情况下活用分表和分区表技术。

10. 活用EXPLAIN查询sql执行计划。

关键字:sql优化

© copyright 粤ICP备16108162号-1