位置: 编程技术 - 正文

一次MySQL慢查询导致的故障(mysqlsum查询慢)

编辑:rootadmin

推荐整理分享一次MySQL慢查询导致的故障(mysqlsum查询慢),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql查询太慢 数据量大 怎么优化,mysql查询太慢 数据量大 怎么优化,mysql join查询慢,mysql数据查询慢,mysql5.7慢查询,mysql 慢查询,mysql一次查询的过程,mysql 慢查询,内容如对您有帮助,希望把文章链接给更多的朋友!

我们知道分析MySQL语句查询性能的方法除了使用EXPLAIN 输出执行计划,还可以让MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为“慢查询”。

一、 起因研发反应某台数据库僵死,后面的会话要么连接不上,要么要花费大量的时间返回结果,哪怕是一个简单的查询。

二、 处理首先去监控平台查看服务器以及数据库状态,发现这台数据库有大量的慢查询。继续看服务器监控,CPU 平均使用率较高,IO 读写平均值正常。登录到 MySQL,使用 SHOW PROCESSLIST 查看会话状态,总数居然有 +,这是很不正常的。查看慢查询日志,发现出问题的 SQL 主要集中在几个,有 SUM、有 COUNT、有等值操作等等。这台 MySQL 服务器的 long_query_time 设置为 3秒,而一个简单的查询却要几十秒,这显然是有问题的。写脚本试着 kill 掉相关的会话,发现于事无补,仍然有大量的连接进来。此时使用 top 查看服务器状态,mysqld 进程占用内存和 CPU 居高不下。

故障期间的慢查询数,如图:

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_db1dc.png" alt="查看图片" />

CPU 平均使用率,如图:

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_daad.png" alt="查看图片" />

接着使用 SHOW FULL PROCESSLIST 查看完整状态,在最上面居然发现几条 SQL。这些 SQL 操作使用子查询实现,TIME 列居然达到了 秒,折算过来差不多 小时。EXPLAIN 这些语句,居然出现了 USING TEMPORY 和 USING FILESORT,可以看出这些语句是很糟糕的。于是跟开发确认,紧急把这些会话 kill 掉。稍等片刻,会话数立马降下来,只有 +,top 查看 mysqld 进程,内存和 CPU 都呈现下降的趋势。接着分析开发说上午 9 时写了这些 SQL,发现有问题,注释掉了。新的代码虽然没有此类 SQL,但之前建立的连接并不会释放。解决问题和出现问题的时间差刚好可以和添加子查询的时间对应,就可以确认子查询是此次故障的罪魁祸首。

一次MySQL慢查询导致的故障(mysqlsum查询慢)

三、 总结通过这个故障,总结如下几点:

MySQL 应该尽量避免使用子查询,即使使用,也要搞清楚大表和小表的关系; 出现这类问题的排查步骤:

第一,查看服务器监控和 MySQL 监控,分析服务器以及 MySQL 性能,找出异常;第二,如果是慢查询导致,查看慢查询日志,找出出现问题的 SQL,试着优化,或者把结果缓存;第三,分清主次,先解决大块问题,后解决细小问题。 把大块的异常解决,小问题就迎刃而解了。比如本文中的例子,把耗费时间长的会话 kill 掉后,后面的连接就正常了;第四,总结分析。

高效的沟通会事半功倍; DBA 需要定期给出 Top N SQL(类 Oracle 的说法),提供给开发,并协助优化; 查看监控时,不管是服务器监控还是 MySQL 监控,需要做对比,比如和昨天甚至前天的同一时间对比,这会更加快速地定位问题。

四、 技巧最后,附上一个快速kill 掉 MySQL 会话的方法:

首先使用如下语句分析出有问题的 SQL:

/usr/local/mysql/bin/mysql -uroot -p'XXX' -e "SHOW FULL PROCESSLIST;" | more

然后将 SHOW FULL PROCESSLIST 的结果保存到一个文件:

/usr/local/mysql/bin/mysql -uroot -p'XXX' -e "SHOW FULL PROCESSLIST;" | grep "XXX" | awk '{print $1}' > mysql_slow.txt

最后使用如下简单的 Shell 脚本 kill 掉相关会话:

当然也可以使用如下 SQL 拼接 kill 语句:

本文对MySQL慢查询导致故障的起因,处理方法,所需的技巧进行了全面分析,希望可以让大家更好的了解MySQL慢查询,对大家的。

mysql中一个普通ERROR (HY)错误引发的血案 今天接到测试人员反应,测试环境前端应用程序无连接mysql数据库,登录mysql服务器,查看错误日志,发现有如下报错:ERROR(HY):Can'tcreateanewthread(errn

MySQL备份与恢复之冷备(1) 用一句话概括冷备,就是把数据库服务,比如MySQL,Oracle停下来,然后使用拷贝、打包或者压缩命令对数据目录进行备份。如果数据出现异常,则可以通

MySQL备份与恢复之真实环境使用冷备(2) 在上一篇文章(MySQL备份与恢复之冷备)中,我们提到了冷备。但是有个问题,我们存储的数据文件是保存在当前本地磁盘的,如果这个磁盘挂掉,那我

标签: mysqlsum查询慢

本文链接地址:https://www.jiuchutong.com/biancheng/347953.html 转载请保留说明!

上一篇:分享一下Mysql常见的几个错误问题及解决方法(mysql常见语句总结)

下一篇:mysql中一个普通ERROR 1135 (HY000)错误引发的血案

  • 收到商业承兑汇票到期付款通知单,据此登记相关账簿
  • 暂估成本跨年后收到票汇算清缴
  • 增值税发票怎么抵扣
  • 未抵扣的进项发票是什么意思
  • 城建税可以不交吗
  • 关联公司往来款算应收账款吗
  • 以销定产如何核算成本
  • 小企业费用包括哪些
  • 对赌协议赢了怎么样
  • 商业银行委托贷款期限
  • 复利现值系数完整版
  • 单位房屋出租转投资性房地产怎么转?
  • 自产农产品加工后仍属于附注的农产品,免税吗?
  • 无形资产要入账吗
  • 自制半成品具体如何处理账务?
  • 房地产企业建造的商品楼属于存货对吗
  • 异地预缴企业所得税几个点
  • 境内所得境外发放工资
  • 预估入账的收入是什么
  • 银行利息增值税发票
  • 单次劳务费税率
  • 新租赁准则承租人进项税
  • 体检合同属于什么合同
  • 租赁产生的成本有哪些
  • 固定资产在什么时候计提折旧
  • 未开票收入计入预收账款
  • 包装本公司产品的出口包装物是否缴增值税?
  • 坏账损失企业所得税
  • 收到发票已入账什么意思
  • 应税货物销售额是什么意思
  • 稿酬特许权使用费的预扣率是多少
  • php 定时执行文件脚本
  • 解决安装后软件icon一圈白边问题
  • 小程序自定义tabbar创意动画
  • vue定位城市
  • 再就业优惠怎么办理
  • 财务报表中固定资产清理为什么加借方余额
  • vuex的五个属性及使用方法 简书
  • 大学送礼物该送多少钱的
  • 本地部署gpt4
  • antd form table
  • 瑞吉接送
  • 收缴违约金
  • mysql 索引类型以及使用场景
  • python中字符串与数字相乘的结果
  • 残保金的滞纳金怎么算
  • 合伙企业分配利润会计分录
  • mysql语句语法
  • 一般劳务报酬个人所得税退税吗
  • 预缴增值税后税款怎么算
  • 企业拆迁补偿款
  • 短期借款有哪几种类型
  • 以前年度管理费用
  • 应缴国库款和应缴财政专户款有什么区别
  • 成本发票未到如何结转成本
  • 土地增值税税率怎么算
  • 收到个人所得税手续费返还如何做账
  • 商业承兑汇票如何开具
  • 怎么判断政府
  • 房地产企业以土地入股如何交纳企业所得税
  • sql常用命令使用方法
  • ftp的安装
  • windows storage server 2016下载
  • ubuntu20.04怎么用
  • freebsd怎么样
  • 如何设置电脑开机密码
  • make:arm-linux- conmand not found错误处理探讨
  • kpupgrader.exe是什么
  • linux userdel
  • Android 中的 TableLayout 继承自
  • bat批处理命令大全
  • js类继承的几种方式
  • bat脚本%1
  • Underscore.js 1.3.3 中文注释翻译说明
  • shell定时删除指定目录下的文件夹
  • unity 开发游戏
  • 盗梦英雄限时占卜顺序
  • 广州契税补贴2022政策
  • 带酒回国需要申报吗
  • 甘肃是什么时候属于中国的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设