慢查询日志就像它的名字,记录查询速度慢时间长的sql
简析慢查询 |
慢查询日志在我看来就是跑的慢的会被抓起来记录一下
什么是慢查询日志
- Mysql的慢查询日志是Mysql提供的一种日志记录,它用来记录Mysql中响应超过阙值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中
- 具体指运行时间指long_query_time参数,默认值为10,意思是运行时间在10秒以上的语句
- 默认没有开启慢查询日志,需要手动设置,如果不是测试调优,一般不开启,因为会带来性能的影响
实战
查询日志状态
mysql> show variables like '%slow_query_log%';
暂时开启
set global slow_query_log=1;
永久开启
修改my.cnf配置文件,在[mysqld]下增加或者修改参数slow_query_log和slow_query_log_file后,重启Mysql服务器
slow_query_log=1
slow_query_log_file=/var/lib/mysql/slow.log # 日志路径
查看慢查询阈值
show variables like 'long_query_time%';
简析全局日志查询 |
测试环境下还可以开启一个全局查询日志,会记录所有你执行过的sql以供分析
实践
开启
set global general_log=1;
输出为一个表
set golobal log_output='TABLE';
查看记录
select * from mysql.general_log;
小结
mysql提供了完善的日志查询,大家可以多多实践