mysql的慢日志查询对于sql的优化还是很有意义的,具体说下如何开启这个mysql慢查询日志(默认是开启的)。
关于设置在mysql的官方手册或网上都有很多,但是要注意的是,mysql5.6与之前的版本关于慢日志的设置其变量发生了变化。
对于mysql的慢日志开启设置,在my.ini(或my.cnf)文件的[mysqld]下设置如下几个参数:
方法一:直接修改配置文件
如下为5.6以前版本的设置方式:
#设置sql执行时间多长为慢查询
long_query_time = 2
#设置把慢日志写在那里,为空的话系统会自动在mysql的data目录下生产一个慢日志文件,文件命名方式为计算机名-slow.log
log-slow-queries =
#表示没有使用索引的sql查询也会记录下来
log-queries-not-using-indexes
5.6版本的设置方式:
#开启慢查询 slow_query_log值为1或on表示开启,为0或off为关闭
slow_query_log=on
#设置慢查询日志放在哪里
slow_query_log_file=mysql-slow
slow_query_log_file=mysql-slow
#设置sql执行时间多长为慢查询
long_query_time=2
long_query_time=2
#表示没有使用索引的sql查询也会记录下来
log-queries-not-using-indexes
方法二:通过终端命令行开启
我们可以通过命令行设置变量来即时启动慢日志查询。由下图可知慢日志没有打开,slow_launch_time=# 表示如果建立线程花费了比这个值更长的时间,slow_launch_threads 计数器将增加
设置慢日志开启
MySQL后可以查询long_query_time 的值 。
为了方便测试,可以将修改慢查询时间为5秒。
注意:
当把慢日志文件删除后,只有重启mysql或者手动添加,才会继续记录日志。
# Query_time: 0.071004 Lock_time: 0.071004 Rows_sent: 1 Rows_examined: 17
查询的时间||锁的时间||返回了多少行||查询了多少行
转载自:http://www.cnblogs.com/lanzi/p/3532240.html
http://blog.chinaunix.net/uid-11640640-id-3426908.html