慢SQL排查三板斧:SHOW PROCESSLIST + 慢查询日志 + EXPLAIN 实战

本文涉及的产品
RDS AI 助手,专业版
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
PolarDB Agent Express,2核4GB
简介: 教你三招快速定位CPU 100%元凶:SHOW PROCESSLIST查活跃查询、开启慢日志+mysqldumpslow分析、EXPLAIN深度诊断SQL性能。干货不啰嗦,专治线上急症!

我是小耶,干运营半路出家的野生DBA——写功课只是为了我踩过的坑,你们别再踩了!

你们遇到过这种情况吗?业务反馈页面转圈,登录数据库一看,CPU 100%。但不知道是哪个SQL干的。

这时候别慌,三条命令依次用。

1. 先看当前在跑的查询

sql

SHOW PROCESSLIST;

结果里找Command列为QueryTime列数值大的那些。Time表示执行了多少秒,越大越可疑。拿到Id,可以直接KILL <id>

2. 打开慢查询日志(提前做)

MySQL设置:

text

slow_query_log = ON
long_query_time = 2
slow_query_log_file = /var/log/mysql/slow.log

超过2秒的SQL会被记录。每天上班第一件事:看一眼昨天的慢查询日志,别等用户投诉。

bash

mysqldumpslow -s t /var/log/mysql/slow.log

-s t按时间排序,最慢的排前面。

3. 抓到慢SQL后,用EXPLAIN分析

sql

EXPLAIN SELECT ...;

重点看三列:

  • typeALL是全表扫描(危险),refrange是走索引(还行),const是最优
  • rows:预估扫描的行数,越大越慢
  • Extra:出现Using filesortUsing temporary,说明有排序或临时表,通常需要优化

顺手记一个组合拳

sql

EXPLAIN FORMAT=JSON SELECT ...;

输出JSON格式,能看到更详细的成本估算。适合出事故后写复盘报告用。

小耶在手,SQL不愁。

你今天慢查询日志里抓到最慢的SQL跑了多少秒?

相关文章
|
消息中间件 存储 监控
|
canal 缓存 NoSQL
【Redis系列笔记】双写一致性
本文讨论了缓存不一致问题及其后果,如价格显示错误和订单计算错误。问题主要源于并发和双写操作的异常。解决方案包括使用分布式锁(但可能导致性能下降和复杂性增加)、延迟双删策略(通过延迟删除缓存来等待数据同步)以及异步同步方法,如通过Canal和MQ实现数据的最终一致性。面试中,可以提及这些策略来确保数据库和缓存数据的一致性。
1843 1
【Redis系列笔记】双写一致性
|
12天前
|
SQL 人工智能 自然语言处理
一条 SQL 生成广告:Hologres 如何实现素材生成到投放分析一体化
广告投放面临“量、准、快”不可兼得的不可能三角:素材产能不足、数据与创意割裂、测试周期远超素材生命周期。阿里云Hologres以“Data + AI = All in One”理念,通过Object Table、AI Function、Dynamic Table等能力,实现素材采集、智能打标、AI生成、投放分析全链路闭环,用SQL驱动一体化智能创意工厂。
|
1月前
|
安全 Java 索引
java工具:《对Collections.sort排序后我想制定查询几条,比如list有10条,我只想获取前4条》
java工具:《对Collections.sort排序后我想制定查询几条,比如list有10条,我只想获取前4条》
112 12
|
1月前
|
SQL 关系型数据库 MySQL
主键、外键和约束:让数据库“有规矩”才能不出错!|转行学DB第5天
本文用通俗易懂的语言讲解了主键(数据的唯一标识)、外键(表间关联)以及唯一约束、非空约束等其他常见约束规则。通过具体SQL示例展示了各种约束的使用方法,并分享了新手容易踩的坑和实用建议。
|
人工智能 运维 关系型数据库
智能运维+多模型服务能力,阿里云 RDS AI 助手旗舰版正式上线!
RDS AI 助手旗舰版在 RDS AI 助手专业版智能运维能力的基础上,提供灵活模型选择、智能模型路由、多模型灾备、API Key 集成等更自主可控、灵活便捷的模型服务,并支持纳管运维各类环境部署的数据库。
智能运维+多模型服务能力,阿里云 RDS AI 助手旗舰版正式上线!
|
8天前
|
SQL 缓存 数据库
你还在用LIMIT 1000000,10?献上分页查询优化技巧
本文详解“深分页”陷阱:`LIMIT 1000000,10`为何慢?3种优化方案(游标法、子查询定位、延迟关联)实测提速数十倍,助你零成本提升SQL性能!
|
12天前
|
SQL 关系型数据库 MySQL
数据库响应迟缓让人崩溃?新手优化屡屡碰壁?这套实战方法让你效率翻倍
本文专为MySQL新手打造,系统讲解性能优化五大步骤:精准诊断、SQL优化、索引设计、参数调优与架构演进。破除盲目调参、只看QPS等常见误区,结合实战案例(查询从5.2秒降至0.15秒),强调“理解原理>死记命令”“预防优于补救”,助你告别试错循环,科学提升数据库性能。(239字)
|
21天前
|
SQL 数据库管理 索引
索引失效的5种常见写法:为什么加了索引查询还是慢
今天分享5种常见索引失效场景(函数/运算/类型不匹配/LIKE前置%/OR混用),附EXPLAIN速查技巧——专治“建了索引却不用”的玄学慢查询,实际案例经验助你少走弯路!
|
10月前
|
消息中间件 缓存 监控
MQ消息积压 / Rocketmq 积压 最全的处理方案。 (秒懂+图解+史上最全)
MQ消息积压 / Rocketmq 积压 最全的处理方案。 (秒懂+图解+史上最全)
MQ消息积压 / Rocketmq 积压 最全的处理方案。 (秒懂+图解+史上最全)