MySQL慢查询日志

简介

慢查询定义为运行时间超过long_query_time的查询,默认为10秒。

默认情况下,仅记录非管理语句以及使用索引的查询。在日志中包含没有索引的查询(无论花费多少时间)都特别有用,并且使用log_queries_not_using_indexes设置进行设置。将不记录对包含0行或1行的表的查询。

该日志包含执行时间超过long_query_time秒的SQL查询,默认为10秒,以及必须检查超过min_examined_row_limit行的查询。获取锁的时间不包括在此计算中,只有解决查询的时间。

开启方式

写在配置文件中

在配置文件/etc/my.cnf中添加

slow_query_log=ON   #开启慢查询日志
slow_query_log_file=slow_query.log  #慢查询日志文件名

在MySQL内部启动

下面2种方式都可以打开

mysql> set @@global.slow_query_log=on;
mysql> set global slow_query_log=on;

查看

慢查询日志是是文本格式的,所以可以用tail,head,vim,cat等文本编辑工具查看。也可以用mysqldumpslow工具通过汇总信息来简化该过程。

当然了也可以在mysql内部查看,方法如下

mysql> SELECT * FROM mysql.slow_log  \G

相关的常用变量

  • log_slow_queries={ON|OFF}
    不推荐使用–log-slow-queries选项,并在MySQL 5.6中删除它(以及log_slow_queries系统变量)。
    而是使用–slow_query_log选项启用慢查询日志,使用–slow_query_log_file = file_name选项设置慢查询日志文件名。
  • slow_query_log={ON|OFF}
    开启慢查询日志
  • slow_query_log_file=
    慢查询日志文件名
  • log_output={FILE|TABLE|NONE}
    存储在文件/表/NONE中
  • log_slow_filter=admin,filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
    慢查询日志过滤的类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值