mysql 慢查询日志的使用
2015-09-07 16:52
771 查看
一、慢查询有什么用
它能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化.
二、如何开启慢查询
1、先查看MYSQL服务器的慢查询状态是否开启.执行如下命令
show variables like '%quer%';
如果当前log_slow_queries状态为OFF, 说明当前并没有开启慢查询.
2、开启慢查询的方法
在mysql的配置文件中的mysqld下方添加以下参数
三、慢查询日志分析
我们可以通过慢查询日志来找出有问题的SQL语句,对其进行优化。随着mysql数据库服务器运行时间的增加,可能会有越来越多的SQL查询被记录到了慢查询日志文件中,这时要分析该文章就显得不是很容易了。
mysql提供的mysqldumpslow命令,可以很方便的对慢查询日志进行分析
命令行下,进入 mysql/bin 目录,输入 mysqldumpslow ?help 或
--help
可以看到这个工具的参数
其中,参与参数说明
1、-s order,是表示按照何种方式排序,order值有:c、t、l、r 分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒序;
2、-t num,即为返回前面多少条的数据;
3、-g pattern,pattern可以写一个正则匹配模式,大小写不敏感的;
例如
1、找出访问次数最多的 20个sql 语句
mysqldumpslow -s c -t 20 host-slow.log
2、和返回记录集最多的 20个sql
mysqldumpslow -s r -t 20 host-slow.log
3、按照时间返回前 10 条里面含有左连接的 sql 语句
mysqldumpslow -t 10 -s t -g "left join" host-slow.log
4、输出记录次数最多的10条SQL语句
mysqldumpslow -s c -t 10 /database/mysql/slow-log
参考资料:
mysql 慢查询日志 http://www.studyofnet.com/news/1028.html
一、慢查询有什么用
它能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化.
二、如何开启慢查询
1、先查看MYSQL服务器的慢查询状态是否开启.执行如下命令
show variables like '%quer%';
如果当前log_slow_queries状态为OFF, 说明当前并没有开启慢查询.
2、开启慢查询的方法
在mysql的配置文件中的mysqld下方添加以下参数
log-slow-queries = D:/MySQL/log/mysqld-slow-query.log long-query-time = 5 #log-long-format #log-slow-admin-statements log-queries-not-using-indexes
三、慢查询日志分析
我们可以通过慢查询日志来找出有问题的SQL语句,对其进行优化。随着mysql数据库服务器运行时间的增加,可能会有越来越多的SQL查询被记录到了慢查询日志文件中,这时要分析该文章就显得不是很容易了。
mysql提供的mysqldumpslow命令,可以很方便的对慢查询日志进行分析
命令行下,进入 mysql/bin 目录,输入 mysqldumpslow ?help 或
--help
可以看到这个工具的参数
其中,参与参数说明
1、-s order,是表示按照何种方式排序,order值有:c、t、l、r 分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒序;
2、-t num,即为返回前面多少条的数据;
3、-g pattern,pattern可以写一个正则匹配模式,大小写不敏感的;
例如
1、找出访问次数最多的 20个sql 语句
mysqldumpslow -s c -t 20 host-slow.log
2、和返回记录集最多的 20个sql
mysqldumpslow -s r -t 20 host-slow.log
3、按照时间返回前 10 条里面含有左连接的 sql 语句
mysqldumpslow -t 10 -s t -g "left join" host-slow.log
4、输出记录次数最多的10条SQL语句
mysqldumpslow -s c -t 10 /database/mysql/slow-log
参考资料:
mysql 慢查询日志 http://www.studyofnet.com/news/1028.html
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复