首页 > 数据库 > MySQL > 正文

mysql中如何查询慢的sql语句

2024-07-24 12:32:55
字体:
来源:转载
供稿:网友
  参数,配合系统出问题的时间,定位哪些查询是罪魁祸首。
 
  query_time 查询时间
 
  rows_sent 和 rows_examined发送的结果数以及查询扫过的行数,这两个值特别重要,特别是 rows_examined。基本上就能告诉我们,哪个查询是需要注意的“大”查询。
 
  实际操作中,我们也是把有大量rows_examined的查询一个个拿出来分析,添加索引,修改查询语句的编写,来彻底的解决问题。
 
  处理结果和反思
 
  经过对所有慢查询的检查和整改,目前MySQL每分钟慢查询数徘徊在1~2之间,CPU的负荷也非常低。问题算是基本得到了解决。
 
  反思一下问题出现的原因,有几个地方需要注意:
 
  1,数据库出问题往往不是上线即引发问题,而是有一个累积的过程,不断累加的糟糕的查询语句会逐步增加系统负载,最后压倒骆驼的最后一根稻草往往看上去莫名其妙
 
  2,最后的一根稻草甚至有可能根本不存在,不是一次发版或者是功能上线,而是随着用户使用量上升,数据量的累积而爆发
 
  3,既然问题的出现是累积的过程,就需要在每次代码发版之前做好review
 
  4,索引的添加很重要
 
  5,慢查询的监控也需要纳入到Zabbix的监控范围
 
  感谢各位的阅读,以上就是“mysql如何查询慢的sql语句”的内容了,经过本文的学习后,相信大家对mysql如何查询慢的sql语句这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。
 

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表