手机
当前位置:查字典教程网 >编程开发 >mysql数据库 >mysql慢查询使用详解
mysql慢查询使用详解
摘要:1慢查询定义指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句。慢查询日志就是记录这些sql的日志。2...

1 慢查询定义

指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句。慢查询日志就是记录这些sql的日志。

2 开启慢查询日志

找到mysql配置文件f.在mysqld的下面添加

代码如下:

log-slow-queries = D:/MySQL/log/mysqld-slow-query.log #日志存在的位置。(注意权限的问题,可以不用设置,系统会给一个缺省的文件host_name-slow.log)

long-query-time = 5 #SQL执行时间阈值,默认为10秒。

#log-long-format #说log-long-format选项是用来设置日志的格式,它是以扩展方式记录有关事件。扩展方式可记录谁发出查询和什么时候发出查询的信息。可使我们更好地掌握客户端的操作情况。

#log-slow-admin-statements #将慢管理语句例如OPTIMIZE TABLE、ANALYZE TABLE和ALTER TABLE记入慢查询日志。

log-queries-not-using-indexes #如果运行的SQL语句没有使用索引,则mysql数据库同样会将这条SQL语句记录到慢查询日志文件中。

配置完毕后重启mysql服务。

3 测试

为了方便 我只在f中配置了慢查询日志的路径.

mysql 版本为 5.1.73

关于 long_query_time :从mysql 5.1开始,long_query_time开始以微秒记录SQL语句运行时间,之前仅用秒为单位记录。这样可以更精确地记录SQL的运行时间,供DBA分析。

进入mysql.

代码如下:

mysql> show VARIABLES like "%slow%"; #查看慢查询日志相关的信息

mysql> set global long_query_time=0.01; #将mysql位置的值改为 0.01

mysql> show variables like "long_query_time"; #查看是否生效

mysql> select sleep(2); #延迟2秒执行 注:这条sql执行完毕以后应该已经在慢查询的日志文件中产生相关的信息记录

mysql> show global status like '%slow%'; #查看慢查询语句的次数

在日志文件中可以看到已经记录了sql.

mysql慢查询使用详解1

总结:

Windows下开启MySQL慢查询

MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上

log-slow-queries = F:MySQLlogmysqlslowquery.log

long_query_time = 2

Linux下启用MySQL慢查询

MySQL在Windows系统中的配置文件一般是是f找到[mysqld]下面加上

log-slow-queries=/data/mysqldata/slowquery.log

long_query_time=2

注意

log-slow-queries = F:MySQLlogmysqlslowquery.log为慢查询日志存放的位置,一般这个目录要有MySQL的运行帐号的可写权限,一般都将这个目录设置为MySQL的数据存放目录;

long_query_time=2中的2表示查询超过两秒才记录;

【mysql慢查询使用详解】相关文章:

CMD下查询Mysql中文乱码的解决方法

Mysql插入记录后返回该记录ID

sql server 2005时发生18452错误解决方法

mysql锁表和解锁语句分享

mysql查询字符串替换语句小结(数据库字符串替换)

mysql 查询数据库中的存储过程与函数的语句

MySQL中的if和case语句使用总结

mysql中文乱码的一些解决方案

mysql sql_mode="" 的作用说明

Mysql自带profiling性能分析工具使用分享

精品推荐
分类导航