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

一、 起因
研发反应某台数据库僵死,后面的会话要么连接不上,要么要花费大量的时间返回结果,哪怕是一个简单的查询。
二、 处理
首先去监控平台查看服务器以及数据库状态,发现这台数据库有大量的慢查询。继续看服务器监控,CPU 平均使用率较高,IO 读写平均值正常。登录到 MySQL,使用 SHOW PROCESSLIST 查看会话状态,总数居然有 600+,这是很不正常的。查看慢查询日志,发现出问题的 SQL 主要集中在几个,有 SUM、有 COUNT、有等值操作等等。这台 MySQL 服务器的 long_query_time 设置为 3秒,而一个简单的查询却要几十秒,这显然是有问题的。写脚本试着 kill 掉相关的会话,发现于事无补,仍然有大量的连接进来。此时使用 top 查看服务器状态,mysqld 进程占用内存和 CPU 居高不下。
故障期间的慢查询数,如图:
CPU 平均使用率,如图:
接着使用 SHOW FULL PROCESSLIST 查看完整状态,在最上面居然发现几条 SQL。这些 SQL 操作使用子查询实现,TIME 列居然达到了 30000 秒,折算过来差不多 10 小时。EXPLAIN 这些语句,居然出现了 USING TEMPORY 和 USING FILESORT,可以看出这些语句是很糟糕的。于是跟开发确认,紧急把这些会话 kill 掉。稍等片刻,会话数立马降下来,只有 100+,top 查看 mysqld 进程,内存和 CPU 都呈现下降的趋势。接着分析开发说上午 9 时写了这些 SQL,发现有问题,注释掉了。新的代码虽然没有此类 SQL,但之前建立的连接并不会释放。解决问题和出现问题的时间差刚好可以和添加子查询的时间对应,就可以确认子查询是此次故障的罪魁祸首。
三、 总结
通过这个故障,总结如下几点:
- 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 掉相关会话:
SELECT concat('kill ',id,';')
FROM information_schema.processlist
WHERE info like 'XXX';
当然也可以使用如下 SQL 拼接 kill 语句:
SELECT concat('kill ',id,';')
FROM information_schema.processlist
WHERE info like 'XXX';
本文对MySQL慢查询导致故障的起因,处理方法,所需的技巧进行了全面分析,希望可以让大家更好的了解MySQL慢查询,对大家的。
相关推荐:
“扩写AI”-引领写作革命,开启智能创作新时代,dede seo 标题如何填写
ChatGDP人工智能:未来科技赋能企业与个人的智能变革,如何用AI绘制人体
seo辅助词选什么,seo助手 ,各车企ai
AI写作免费一键生成5000字:高效创作的革命性工具
SEO领站-从零到一打造成功网站排名的秘密,轻淘客seo怎设置
SEO这样做,轻松引爆流量,助力企业成长,无极标准网站优化好处
seo用什么法宝,列出5种seo赚钱方式 ,ai怎么更改文档样式
ChatGPT的梯子:突破网络壁垒,畅享智能对话的全新体验,ai的音标1001ai的音标
SEO表格:优化网站排名的秘密武器,大数据推广营销费用多少
SEO运营工作是什么,seo公司运营 ,720516AI
SEO目的:如何通过精准优化提高网站流量与转化率,百度推广网站关键词
SEO专业怎么样?未来发展的无限潜力与职业前景,联通ai智能早教
seo需要学些什么内容,学seo的基础 ,中国ai公司年收入
文章AI排版,让创作更高效的秘密武器
软件我在AI:改变未来的智能助手
ChatGPT无法使用?了解原因及解决方法,轻松恢复智能对话体验!,ai满版图案
SEO关键词是什么意思?全面解析SEO关键字的核心作用,华为ai音箱 百度ai音箱
ChatGPT发生故障,背后隐藏着哪些不为人知的原因与挑战?,硬件ai和软件ai
ChatGPT的超链接点不开?解决方法一网打尽!,情感ai写作指令是什么
SEO可以改变你的商业未来:如何通过优化提升网站流量和转化率,五粮液营销推广
SEO获客的秘诀:如何通过搜索引擎优化提升客户获取能力,厦门seo搜索优化排名
如何查文章AI率?全面解析AI文章检测工具及技巧
什么是seo反连接,网站反链多好还是少好 ,网易ai产品
pbootcms自动翻译插件,让你的网站轻松实现多语言覆盖,ai 镀金
ChatGPT网络故障报告从协调世界时(UTC)晚上1107左右开始激增,15分钟内引发广泛关注,ai无视进化
亚马逊的seo是什么阿,亚马逊seo项目 ,中考用ai写作会判0分吗
ChatGPT打不开了吗?如何快速解决常见问题,恢复顺畅体验!,ai13212511845
SEO招标:如何通过专业SEO服务助力企业脱颖而出,牡丹江关键词排名怎么样
SEO出来,打破流量瓶颈,助力企业增长的关键策略,南昌营销推广代理商电话
ChatGPT的诞生,预示着人工智能大规模应用的时代已经来临,ai此生不渝
ChatGPT进不去怎么办?解决方案与技巧,轻松畅享智能对话,ai va
ChatGPT国内版:为中国用户量身定制的智能助手,开启AI新纪元,ai文章赚钱
“赞片CMS”-让你的*站点管理更高效、便捷,日照seo平台
为什么要年前做SEO,企业为什么做seo推广 ,云南ai大数据公司
SEO优化如何进行:提升网站排名,轻松超越竞争对手,ai写作怎么操作手机
“更加通顺”-让生活与工作无缝衔接的语言魅力,SEO书架书桌收纳
AI搜索写文章是什么意思?人工智能赋能内容创作的未来,高德地图 ai
AI缩短短文-提升创作效率,写作新体验,光速写作业ai写作app
优排软件:高效管理新天地,轻松提升工作效率,长葛外贸网站建设
SEO优化的利器:提升网站排名的秘密武器,联想ai7g-3笔记本
ChatGPT免费订阅的使用限制:其潜力与挑战,ai辅助线无法对齐画板
AI免费生成文章的软件:轻松创作的秘密武器
优化页面-提升用户体验与搜索引擎排名的关键,绍兴视频营销推广
为什么说seo重要,为什么说seo重要一点 ,中通智能ai是什么意思
用AI写的文章算原创吗?真相揭示,带你深度思考!
优化原理:提升效率、创新突破的核心法则,印刷包装推广有哪里网站
SEM做得好可以取代SEO吗?浅析两者的异同与未来趋势,王道ai
ChatGPT在处理文本时可能无法完全理解上下文的复杂性,肌肉ai
ChatGPT出现报错503?这些解决办法你必须知道!,粉墨ai说唱
为什么做酒店seo,为什么做酒店 ,ai uehara下载