首先,使用慢查询日志 查找执行效率低的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 需要主键是顺序排序,没有中断,否则会出现某页数据不足五行的情况。
如何建立索引 :