MySQL优化之慢查询

定义:MySQL默认10秒内没有响应SQL查询结果,则为慢查询;

  • 开启慢查询日志:

  默认情况下,慢查询日志被禁用;默认慢查询日志放在数据目录中,默认文件名为host_name-slow.log;

注意:使用set global slow_query_log=1开启慢查询日志只对当前数据库生效,MySQL重启后则会失效;如果要永久生效,就必须修改配置文件my.cnf(windows下为my.ini),或者在使用命令启动mysql的时候,在--slow-query-log参数中指定,其他系统变量也是如此。

  • 设置慢查询时间阈值:

开启了慢查询日志后,什么样的SQL才会记到慢查询日志里面呢?这个是由参数long_query_time控制,默认long_query_time=10,也就是10秒。

注意:使用show variables like 'long_query_time'查看的是当前连接会话的变量值;因为long_query_time变量在GOLBAL和SESSION中都有,如果不加访问域则使用默认的SESSION访问域,所以要想看到全部的long_query_time变量需要用如下语句show global variables like 'long_query_time'。

  • 查看慢查询记录的条数:

如果你想查询有多少条慢查询记录,可以使用这个系统状态变量slow_queries。

  • 日志分析工具:

在实际生产环境中,如果要手工分析日志,查找、分析SQL,显然是个体力活,MySQL提供了日志分析工具mysqldumpslow。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值