news 2026/10/14 3:46:48

如何定位慢查询

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何定位慢查询

一、慢查询发生场景

  • 聚合查询

  • 多表查询

  • 表数据量过大查询

  • 深度分页查询

表象:页面加载过慢、接口压测响应时间过长(超过 1s;实际中 500ms 以上就值得关注)。

二、如何定位

1. 开启慢查询日志 —— 找到慢 SQL

-- 查看是否开启 SHOW VARIABLES LIKE 'slow_query_log'; -- 开启慢查询日志 SET GLOBAL slow_query_log = ON; -- 设置阈值(超过 1 秒算慢,建议调到 0.5~1 秒) SET GLOBAL long_query_time = 1; -- 查看日志文件位置 SHOW VARIABLES LIKE 'slow_query_log_file'; -- 可选:记录没走索引的 SQL(生产环境慎开,可能刷爆日志) SET GLOBAL log_queries_not_using_indexes = ON;

开启后,超过阈值的 SQL 会被记录到日志文件。

2. 分析慢查询日志 —— 找出最该优化的

日志是纯文本,用工具聚合:

# MySQL 自带,按总耗时排序取前 10 mysqldumpslow -s t -t 10 slow.log # Percona 工具,分析更强大(推荐) pt-query-digest slow.log

它们能告诉你:哪条 SQL 执行次数最多、总耗时最长、平均耗时最高。

3. 实时查看正在执行的慢 SQL

-- 看当前正在跑的查询 SHOW PROCESSLIST; -- 或查 information_schema,筛出执行超过 1 秒的 SELECT * FROM information_schema.processlist WHERE time > 1;

4. 监控工具(生产环境常用)

SkyWalking、Arthas:APM 工具,从应用层定位到具体 SQL

5. 用 EXPLAIN 分析 —— 判断为什么慢(最关键)

EXPLAIN SELECT * FROM orders WHERE user_id = 123;

重点看这几列:

列含义关注点
type访问类型从好到坏:system > const > eq_ref > ref > range > index > ALL。出现ALL(全表扫描)要警惕
key实际用的索引为NULL说明没走索引
rows预估扫描行数越大越慢,接近全表行数越危险
filtered过滤后剩余百分比越低说明扫了很多无效行
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/14 3:46:11

小程序开发服务商选型避坑指南:避开榜单陷阱与隐性成本

2026年了,小程序开发服务商还是一个让人头疼的选型问题。不是没得选,而是选择太多、榜单太漂亮、销售话术太顺滑,真正到交付阶段却发现货不对板。这几年我前后跟不同规模的开发团队合作过三轮小程序项目,也见过身边朋友被各种“年…

作者头像 李华
网站建设 2026/10/14 3:45:30

YOLOv8药盒识别实战:从数据采集到一键部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与初学者的YOLOv8药品识别实战资源,可用于毕业设计、课程设计、大作业或教学演示。系统基于YOLOv8目标检测框架,支持图片与视频输入,自动定位并识别药盒内常见药品&#xff0…

作者头像 李华
网站建设 2026/10/14 3:45:30

国产芯片EMI SRAM替代ISSI SRAM

EMI的快速异步SRAM产品,采用CMOS工艺,接口为TTL兼容,三态输出,全静态操作,无需时钟与刷新。容量跨度为1Mb至32Mb,覆盖6个密度档;数据组织分为x8与x16两个方向;EMI SRAM供电电压提供四…

作者头像 李华
网站建设 2026/10/14 3:45:28

云闪付TN转paydata:定长报文解析与支付数据转换实战

简介:此可运行源码包面向移动支付开发者,特别针对云闪付对接过程中常见的tn转paydata数据转换与加密需求,提供了一套可直接运行的完整示例,覆盖核心转换环节,适用于金融支付、电商应用等业务场景。iOS端采用3DES对称加…

作者头像 李华
网站建设 2026/10/14 3:44:01

Pygame游戏开发入门:跑通主循环、精灵与碰撞检测的完整源码包

简介:这是一份《Python游戏编程入门》的随书源码压缩包,面向希望快速上手pygame的Python初学者,以及想通过实例理解游戏开发流程的读者。资源内包含全部随书示例代码,可用于对照学习或直接运行。已有3033人学习或下载,…

作者头像 李华