1.使用方法
将Slow Query Log文件拖入方框中,通过读取日志文件就,表格将SQL查询中一些重要的指标分列展示出来。表格中每列的描述如下:
- date 查询执行时间
- query time 查询总共花费的时间(包含占用锁的时间)
- lock time 占用锁的时间
- rows sent 服务器返回的总条数
- rows examined 服务器查询时扫描的总条数
- db name 数据库名称
- query string SQL语句
表格支持按列排序,按关键词在filter中过滤
2.查找问题(经验分享,供参考)
三个步骤。
- 根据SQL排查代码的不合理性。根据“rows sent”,判断一次性返回的条数是否太多。
根据“query string”, 判断SQL是否有“select *”。
根据“query string”中的关键字使用filter过滤,查看过滤后同一个SQL的数量,及每条记录的“date”列,如果SQL过于频繁,判断是否在循环体中执行查询;判断是否有不必要的重复查询。
根据曲线图, 可以清晰的知道一天中哪个时间段的Slow Query最多 。
- 使用EXPLAIN,专注优化SQL。请参考:EXPLAIN的使用。
- 如果1、2步无法解决问题,可能实现方案或业务不合理。建议抛出问题,利用团队资源,共同解决。