1、查看是否开启
SHOW VARIABLES LIKE '%slow_query_log%'
2、开启查询日志
set global slow_query_log=1
3、设置查询多久的才算慢查询
#查看
SHOW VARIABLES LIKE '%long_query_time%'
#设置
set global long_query_time=0.1
4、日志分析工具
使用mysqldumpslow命令可以非常明确的得到各种我们需要的查询语句,对MySQL查询语句的监控、分析、优化是MySQL优化的第一步,也是非常重要的一步。
-- 得到返回记录集最多的10个查询
/apps/svr/mysql5/bin/mysqldumpslow -s r -t 10 slow3306.log
-- 得到按照时间排序的前10条里面含有左连接的查询语句。
/apps/svr/mysql5/bin/mysqldumpslow -s t -t 10 -g "left join" slow3306.log
-- -a 参数,说明不合并类似的SQL语句,显示具体的SQL语句中的数字和字符串
/apps/svr/mysql5/bin/mysqldumpslow -a -s t -t 10 slow3306.log
mysqldumpslow --help可显示其参数的使用
经常使用的参数:
-s, 是order的顺序
al 平均锁定时间
ar 平均返回记录时间
at 平均查询时间(默认)
c 计数
l 锁定时间
r 返回记录
t 查询时间