加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

应用实践:四步法分析定位生产环境下MySQL上千条SQL中的问题所在

发布时间:2018-10-08 13:03:01 所属栏目:编程 来源:牛旦教育IT课堂
导读:【新品产上线啦】51CTO播客,随时随地,碎片化进修 第一步:通过以下两种方法之一来打开慢查询成果 (1)方法一:通过修改mysql的my.cnf文件 假如是5.0或5.1等版本必要增进以下选项: log-slow-queries=mysql_slow_query.log 假如是5.5版本以上可以增进如下选
【新品产上线啦】51CTO播客,随时随地,碎片化进修

应用实践:四步法说明定位出产情形下MySQL上千条SQL中的题目地址

第一步:通过以下两种方法之一来打开慢查询成果

(1)方法一:通过修改mysql的my.cnf文件

假如是5.0或5.1等版本必要增进以下选项:

  1. log-slow-queries="mysql_slow_query.log" 

假如是5.5版本以上可以增进如下选项:

  1. slow-query-log=On  
  2. slow_query_log_file="mysql_slow_query.log"  
  3. log-query-not-using-indexes  

可是以上修改mysql设置文件的方法必要重启mysql,这也是它的弱点。

(2)方法二:通过依次执行mysql的如下呼吁的方法:

  1. set global slow_query_log=ON;  
  2. set global long_query_time = 3600;  
  3. set global log_querise_not_using_indexes = ON;  

第二步:通过如下呼吁来查察mysql的慢查询是否已经打开

1)查察配置的属于慢查询的时刻

  1. show variables like "long_query_time"; 

执行功效如下:

应用实践:四步法说明定位出产情形下MySQL上千条SQL中的题目地址 

2)查询mysql的慢查询的日记存储的相干信息

  1. show variables like "%slow%"; 

执行功效如下:

应用实践:四步法说明定位出产情形下MySQL上千条SQL中的题目地址 

第三步:案例讲授怎样行使

(1)操作以下语句取代真实的操纵较量慢的查询语句

缘故起因:一样平常mysql的执行速率都是较量快的,想要到达10s必要造的数据较量多。因此用以下语句模仿就较量轻易:

  1. select sleep(10); 

(2)通过以下语句举办查询,当前的语句有几多是数据慢查询的

  1. show global status like '%slow%'; 

执行功效如下:

应用实践:四步法说明定位出产情形下MySQL上千条SQL中的题目地址 

功效表明:由于适才执行了一个sleep语句,以是Slow_queries里边的数值变为1了。

第四步:通过最终的日记来说明查询语句慢的真正缘故起因:

详细操纵步伐就是查察日记。好比适才发生了一条慢查询了,因此,日记内容如下:

应用实践:四步法说明定位出产情形下MySQL上千条SQL中的题目地址 

过以上可以看到,查询慢的语句是select sleep(10);

可是现实出产情形下发生的慢查询的sql语句必要借助explain举办说明,然后按照获取的相干信息举办针对性改造。

【编辑保举】

  1. 区块链,一种数据库技能
  2. 读完这篇文章,就根基搞定了Redis数据库
  3. 一看就懂的MySQL存储进程详解
  4. 老司机也该把握的MySQL优化指南
  5. 敢啃“硬骨头”,开源漫衍式数据库TiDB怎样炼成?
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读