mysql慢SQL筛选

           当我们数据库SQL查询性能降低以后,我们需要将慢的SQL记录下来方便我们对SQL或业务进行调整,要开启慢SQL记录需要我们手动到数据库开启的,只有当需要检测慢SQL的时候才建议开启,平时建议常关闭。           

 查询语句 :SHOW VARIABLES LIKE '%slow_query_log%' 

           当查询出来slow_query_log=OFF的时候表示未开启慢SQL监听。


           开启语句 : SET GLOBAL slow_query_log=1

           只对当前SQL生效,如果SQL客户端关闭或重启将会失效(推荐使用)



           想要长期开启需要修改配置文件my.cnf,增加如下两行代码

           slow_query_log=1

           slow_query_log_file=/var/lib/mysql/(SET GLOBAL slow_query_log=1)
           里面 slow_query_log_file字段      

  不建议长期开启,以免影响数据库效率和性能。

执行多长时间为慢SQL呢 ?

          执行SQL SHOW VARIABLES LIKE 'long_query_time%'  会查询出来一个value数据这里需要注意的是里面的value单位为秒,默认是大于10秒的SQL将进行慢SQL记录。

如何修改慢SQL记录时间呢?

         执行SQL SET GLOBAL long_query_time=3 ,这里需要注意的是修改以后需要重新开启一个窗口查询才会显示出来,不然还是会显示默认的(10).

      

模拟测试SQL : SELECT sleep(4)     这条SQL将执行4秒钟。

通过上面的执行以后我们可以直接查询慢SQL总数量 :
SHOW GLOBAL STATUS LIKE '%Slow_queries%'

你所编写的SQL都将会记录到mysql数据库里面的general_log表里面,可以用

select * from mysql.general_log  查询SQL执行记录和执行时间,方便我们快速定位问题。

注意全局查询SQL日志永远不要在生产环境开启,SQL执行记录需要开启以后才会存放到

              general_log  表里面。

                        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值