技术分享 | Slow Query Log 使用详解

本文介绍了慢查询日志的作用,如何配置和查看,以及如何安全地在线清理slow.log,以优化数据库性能。

作者:宓祥康
爱可生交付服务部团队 DBA 擅长日志分析、问题排查等;主要负责处理 MySQL 与我司自研数据库自动化管理平台 DMP 的日常运维问题,对数据库及周边技术有浓厚的学习兴趣。
本文来源:原创投稿

  • 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

引言

  • 什么是 Slow Query Log?

  • 该如何使用它?

  • 它的存在对运维数据库有什么帮助呢?

一、 简介

慢查询日志,开启它我们可以通过参数来控制其记录执行或查询时间长的 SQL、全表扫描的 SQL、没有使用索引的 SQL。没错,它的作用就是记录哪些糟糕的、让数据库变慢的 SQL,把它们揪出来。

我们一般通过如下参数来控制 slow 的开启与记录:slow_query_log、slow_query_log_file、long_query_time、min_examined_row_limit、log_output、log_queries_not_using_indexes、log_throttle_queries_not_using_indexes。

  • slow_query_log:控制 slow_query_log 是否开启,参数 ON|OFF

  • slow_query_log_file:控制文件的写入位置,参数为文件的具体位置,如:/data/slow.log

  • long_query_time:设置 SQL 执行时间大于等于多少秒(可精确到微秒)时记录到日志中

  • min_examined_row_limit:设置检查的行数大于等于多少行时记录到日志中

  • log_output:设置慢查询记录到哪里,参数 FILE|TABLE

  • log_queries_not_using_indexes:控制查询过程中未使用索引或全表扫描的 SQL 是否记录到日志中

  • log_throttle_queries_not_using_indexes:开启 log_queries_not_using_indexes 后,此参数会限制每分钟可以写入慢速查询日志的此类查询的数量,参数设置 0 为不限制

二、查看方式与内容分析

慢日志分析的方式有两种,因为慢日志文件一般较小,所以一种方式为在慢日志文件中直接使用 less 或 more 命令来查看。第二种方式则是利用 MySQL 官方提供给我们的程序:mysqldumpslow 来快速查看 slowlog 日志中记录的慢 SQL。

对于我们详细来分析 SQL 的话,一般采用第一种方式,查找到对应时间点的

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值