如何定位慢查询sql
(1) 业务驱动
(2) 测试驱动
(3) 慢查询日志
慢查询日志配置
(1) show variables like ‘slow_query_log’ //查看慢查询日志开关及路径
(2) set global slow_query_log = on //打开慢查询
(3) set global slow_query_log_file = '/var/lib/mysql/gupaoedu-slow.log’ //修改慢查询路径
(4) set global log_queries_not_using_indexes = on //慢查询日志中没有应用索引的是否需要做记录
(5) set global long_query_time = 0.1 (秒) //超过xxx秒就做慢查询记录
慢查询日志分析
(1) Time :日志记录的时间
(2) User@Host:执行的用户及主机
(3) Query_time:查询耗费时间
(4) Lock_time 锁表时间
(5) Rows_sent 发送给请求方的记录条数
(6) Rows_examined 语句扫描的记录条数
(7) SET timestamp 语句执行的时间点
(8) select … 执行的具体语句
慢查询日志分析工具
-
MySQL自带的慢查询日志分析工具
mysqldumpslow -t 10 -s at /var/lib/mysql/bbb.log mysqldumpslow -s t -t 3 /var/lib/mysql/gupaoedu-slow.log //显示慢查询日志中查询时间最长的3条
其他工具
(1) mysqlsla
(2) pt-query-digest