首先,使用慢查询日志 查找执行效率低的SQL语句。
慢查询日志使用语句:

以上四个句子:第一句:查看慢查询日志是否开启, 第二句:设置慢查询日志目录,第三句:将没有索引的语句记录到慢查询日志中,第四句:将查询时间大于1秒的SQL语句记录到慢查询日志中。 语句在Mysql下执行。

慢查询日志分析工具:
1. mysqldumpslow



2. pt-query-digest

输出结果:



通过分析慢查询日志查找出有问题的SQL语句:




实际优化操作:
1.count()和max()语句的优化。
如果max(id),那么就在id上建立索引,起到优化效果。

2.子查询的优化。
使用join语句。 如果是一对多,那么会出现数据重复,此时需要使用distinct关键字去重。
3.Group By 的优化。


4.limit优化。




但是步骤2 需要主键是顺序排序,没有中断,否则会出现某页数据不足五行的情况。
如何建立索引 :




