mysql慢日志是用来记录执行时间比较长的sql工具(超过long_query_time的sql),这样对于跟踪有问题的sql很有帮助。
查看是否启用慢日志和相关信息
上面截图其中:
log_slow_queries,slow_query_log,slow_query_log_file,long_query_time和慢日志查询有关。其中slow_launch_time和慢日志查询没有关系,它代表的是thread create的一个阈值,具体作用目前不是很清楚。
打开慢日志查询的方法:
- 修改配置文件然后重启mysql:
在mysqld后面添加
long_query_time = 1 #是指执行超过多久的sql会被记录,以秒为单位
log-slow-queries = D: empmysqlslowquery.log #设置把日志写在那个文件
log_queries_not_using_indexes # 记录没有使用索引的查询修改之后重启可以查看:
- 在global级别动态修改
mysql> set global log_slow_queries=ON;
mysql慢日志使用最多的地方就是定位sql的性能问题
mysql慢日志查询分析工具:mysqldumpslow
命令行选项:
- -s:是表示按照何种方式排序。c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,前面加a(ac、at、al、ar)表示相应的倒叙
- -t: 后面跟一个数字,表示返回前面多少条的数据
- -g:后边跟一个正则匹配模式(注意:大小写是不敏感的)