实用指南:简易分析慢 SQL 的流程和方法

news/2025/10/13 13:14:43/文章来源:https://www.cnblogs.com/tlnshuju/p/19138247

实用指南:简易分析慢 SQL 的流程和方法

2025-10-13 13:10  tlnshuju  阅读(0)  评论(0)    收藏  举报

分析慢 SQL 的核心是定位性能瓶颈(如全表扫描、索引失效、锁等待等),并针对性优化。以下是一套标准化的分析流程,从日志获取到根因定位,再到优化验证:

一、第一步:获取慢 SQL(开启并查看慢查询日志)

首先确保慢查询日志已开启,才能捕获到慢 SQL。

  1. 检查 / 开启慢查询日志登录 MySQL 执行命令,查看当前配置:

    -- 查看是否开启(ON为开启,OFF为关闭)
    SHOW VARIABLES LIKE 'slow_query_log';
    -- 查看慢查询阈值(单位:秒,默认10秒,可根据业务调整为1秒)
    SHOW VARIABLES LIKE 'long_query_time';
    -- 临时开启(重启MySQL后失效,生产环境需在my.cnf中配置永久生效)
    SET GLOBAL slow_query_log = ON;
    SET GLOBAL long_query_time = 1; -- 阈值设为1秒,捕获更精细的慢SQL
  2. 查看慢查询日志内容先找到日志路径:

    SHOW VARIABLES LIKE 'slow_query_log_file';
    再通过服务器命令查看日志(如 Linux):
    # 直接查看最新日志
    cat /var/lib/mysql/xxx-slow.log
    # 或用MySQL自带工具mysqldumpslow分析(按执行次数排序,取前10条)
    mysqldumpslow -s c -t 10 /var/lib/mysql/xxx-slow.log

二、第二步:用EXPLAIN分析 SQL 执行计划(核心步骤)

拿到慢 SQL 后,最关键的是通过EXPLAIN查看 MySQL 的 “执行思路”,定位瓶颈。

1. 基本用法

在慢 SQL 前加EXPLAIN,例如:

EXPLAIN SELECT * FROM user WHERE age > 30 AND name LIKE '%张三%';

执行后会输出 12 列关键信息,重点关注以下 6 列:

列名核心含义异常信号(需优化)
idSQL 执行顺序(数字越大越先执行,相同则按从上到下顺序)无异常,但需理解多表关联时的执行逻辑
select_type查询类型(如 SIMPLE = 简单查询、SUBQUERY = 子查询、JOIN = 关联查询)出现ALL(全表扫描)、filesort(文件排序)、using temporary(临时表)
table当前行正在访问的表无直接异常,但需结合其他列判断
type表的访问方式(性能从好到差:system > const > eq_ref > ref > range > index > ALL出现ALL(全表扫描,数据量大时必慢)、index(全索引扫描)
key实际使用的索引(NULL表示未使用索引)NULLtypeALL(未走索引)
Extra额外执行信息(最能暴露问题的列)包含Using filesort(需优化排序)、Using temporary(需优化临时表)、Using where(过滤在内存完成,无大问题)
2. 常见EXPLAIN异常及原因
  • 异常 1:type=ALL(全表扫描)原因:未建索引、索引失效(如LIKE '%xx'、函数操作索引列、类型不匹配)。
  • 异常 2:Extra=Using filesort原因:排序字段未走索引,MySQL 需在内存 / 磁盘中手动排序(数据量大时极慢)。
  • 异常 3:Extra=Using temporary原因:需创建临时表存储中间结果(如GROUP BY未走索引、多表关联排序未优化)。

三、第三步:补充分析工具(深入定位细节)

除了EXPLAIN,还可结合以下工具获取更具体的性能数据:

  1. EXPLAIN ANALYZE(MySQL 8.0.18 + 支持)EXPLAIN更精准,会实际执行 SQL并返回真实的执行时间、行数等(注意:生产环境执行前需评估 SQL 是否会锁表或消耗资源):

    sql

    EXPLAIN ANALYZE SELECT * FROM user WHERE age > 30;
  2. 查看 SQL 执行时间和锁等待通过SHOW PROFILE查看 SQL 执行的每个阶段耗时(需先开启):

    sql

    -- 开启 profiling
    SET profiling = ON;
    -- 执行慢SQL
    SELECT * FROM user WHERE age > 30;
    -- 查看最近一次SQL的执行详情
    SHOW PROFILE FOR QUERY 1; -- 1是SQL的ID,可通过SHOW PROFILES查看
    若耗时集中在Sending data(数据传输)或Waiting for table level lock(表锁等待),需进一步优化数据量或锁策略。

四、第四步:常见慢 SQL 根因及优化方向

根据上述分析,定位根因后针对性优化:

常见根因优化方案
1. 未建索引 / 索引失效- 给过滤条件(WHERE)、排序(ORDER BY)、关联(JOIN ON)字段建索引- 避免索引失效:不用LIKE '%xx'(改用LIKE 'xx%')、不函数操作索引列(如DATE(created_at) = '2024-01-01'改为created_at BETWEEN '2024-01-01 00:00:00' AND '2024-01-01 23:59:59'
2. 全表扫描(数据量大)- 建合适索引- 分表分库(如按时间分表、按用户 ID 分库)- 避免SELECT *,只查需要的字段(减少数据传输和内存消耗)
3. 排序 / 分组未走索引- 给ORDER BY/GROUP BY的字段建联合索引(如WHERE age >30 ORDER BY create_time,建索引(age, create_time))- 减少排序数据量(先过滤再排序)
4. 多表关联效率低- 确保关联字段(JOIN ON)有索引- 小表驱动大表(如SELECT * FROM 小表 JOIN 大表 ON ...)- 避免LEFT JOIN时右边表的过滤条件写在WHERE中(会导致LEFT JOININNER JOIN
5. 事务 / 锁等待- 缩短事务时长(避免在事务中执行非数据库操作,如 RPC 调用)- 用行锁(InnoDB)替代表锁,避免长事务占用锁资源

五、第五步:优化后验证

优化后需重新执行EXPLAIN和慢 SQL,确认:

  1. typeALL提升到ref/range等更优级别;
  2. key列显示使用了目标索引;
  3. Extra中无Using filesort/Using temporary
  4. 实际执行时间显著缩短(可通过EXPLAIN ANALYZE或业务监控确认)。

总结

分析慢 SQL 的核心流程:获取慢日志 → 用 EXPLAIN 看执行计划 → 定位根因(无索引 / 全表扫描 / 排序异常等) → 针对性优化 → 验证效果。其中,EXPLAIN是最关键的工具,需重点掌握其输出列的含义和异常信号。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/936078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年10月防水连接器定做厂家最新推荐榜单,专业定制与卓越品质信赖之选!

2025年10月防水连接器定做厂家最新推荐榜单,专业定制与卓越品质信赖之选!随着工业自动化和智能化的快速发展,防水连接器作为关键的电气连接部件,其重要性日益凸显。为了满足不同行业对防水连接器的多样化需求,市场…

2025年10月浇注型聚氨酯厂家最新推荐排行榜,专业生产与市场口碑深度解析!

2025年10月浇注型聚氨酯厂家最新推荐排行榜,专业生产与市场口碑深度解析!一、行业背景介绍浇注型聚氨酯作为一种高性能材料,在多个行业中有着广泛的应用,包括机械制造、汽车工业、建筑施工等。随着技术的不断进步和…

2025年10月通风天窗厂家最新推荐排行榜,工业/民用通风天窗,屋顶通风天窗,高效节能通风天窗公司推荐!

2025年10月通风天窗厂家最新推荐排行榜:工业/民用通风天窗,屋顶通风天窗,高效节能通风天窗公司推荐!随着建筑行业的发展和环保意识的提升,通风天窗在工业和民用建筑中的应用越来越广泛。为了帮助筛选通风天窗品牌…

深入解析:贝叶斯定理入门:用医学测试案例理解先验、后验、似然和证据概率

深入解析:贝叶斯定理入门:用医学测试案例理解先验、后验、似然和证据概率pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-famil…

2025年10月保洁公司最新权威推荐榜:专业服务与客户口碑之选

2025年10月保洁公司最新权威推荐榜:专业服务与客户口碑之选随着城市化进程的加快和人们生活水平的提高,保洁服务的需求日益增长。越来越多的企业和个人开始重视环境卫生,选择专业的保洁公司来提供清洁服务。为了帮助…

2025年10月网络营销推广/媒体投放/全案推广/新媒体营销/全媒体推广/推广代运营最新权威推荐榜单

2025年10月网络营销推广/媒体投放/全案推广/新媒体营销/全媒体推广/推广代运营最新权威推荐榜单随着数字化时代的到来,网络营销推广、媒体投放、全案推广、新媒体营销、全媒体推广以及推广代运营等服务变得越来越重要…

2025年10月安全光栅厂家最新推荐排行榜,超薄/四级/无盲区/红外/光电/小型/冲床/折弯机/机床安全光栅公司推荐

2025年10月安全光栅厂家最新推荐排行榜,超薄/四级/无盲区/红外/光电/小型/冲床/折弯机/机床安全光栅公司推荐随着工业自动化和智能制造的快速发展,安全光栅作为重要的安全防护设备,其市场需求持续增长。为了帮助用户…

深入解析:数据库造神计划第二十一天---JDBC编程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

深入解析:扩散模型-图像编辑【An Edit Friendly DDPM Noise Space: Inversion and Manipulations】

深入解析:扩散模型-图像编辑【An Edit Friendly DDPM Noise Space: Inversion and Manipulations】pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block…

Docker Desktop 挂载目录实际位置

Docker Desktop 4.48.0 WSL后端实际挂载位置 # powershell wsl -d docker-desktop# sh cd /tmp/docker-desktop-root/

2025年10月掘进机厂家最新权威推荐榜单:高效施工与卓越性能的首选品牌!

2025年10月掘进机厂家最新权威推荐榜单:高效施工与卓越性能的首选品牌!随着基础设施建设的不断推进,掘进机作为隧道、地铁等工程中的关键设备,其重要性日益凸显。为了帮助筛选掘进机品牌,特此发布权威推荐榜单,为…

2025年10月电源适配器厂家最新推荐排行榜,笔记本电源适配器,手机电源适配器,USB电源适配器公司推荐!

2025年10月电源适配器厂家最新推荐排行榜:笔记本、手机及USB电源适配器公司推荐随着科技的不断进步,电源适配器作为电子设备不可或缺的一部分,其质量和性能直接影响到设备的使用体验和寿命。为了帮助筛选电源适配器…

2025年10月彩钢瓦保养厂家最新推荐排行榜,防腐彩钢瓦,隔热彩钢瓦,耐候彩钢瓦公司推荐!

2025年10月彩钢瓦保养厂家最新推荐排行榜,防腐彩钢瓦,隔热彩钢瓦,耐候彩钢瓦公司推荐!随着建筑行业的不断发展,彩钢瓦因其轻便、耐用和美观的特点,被广泛应用于各类建筑项目中。然而,彩钢瓦的使用寿命和性能很大…

【网络安全】二、入门篇:HTTP 协议进阶 ——GET/POST 常用传参手段详解

【网络安全】二、入门篇:HTTP 协议进阶 ——GET/POST 常用传参手段详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: …

AI元人文构想:基础理论框架解析2025年10月13日

AI元人文构想:基础理论框架解析2025年10月13日 一、引言:AI元人文的兴起与变革 人工智能技术的迅猛发展,正推动其角色从执行特定任务的工具,向能与人类深度交互与协同的复杂系统演进。这一演进催生了AI系统设计理念…

2025年10月南通婚纱照最新权威推荐榜:创意摄影与贴心服务完美结合!

2025年10月南通婚纱照最新权威推荐榜:创意摄影与贴心服务完美结合!随着婚庆行业的不断发展,越来越多的新人开始注重婚纱照的质量和个性化。在南通,婚纱摄影市场竞争激烈,各大品牌纷纷推出创新的服务和产品,以满足…

2025年10月安全光栅厂家最新推荐排行榜,超薄/四级/无盲区/红外/光电/小型/冲床/折弯机/机床安全光栅及传感器公司推荐!

2025年10月安全光栅厂家最新推荐排行榜,超薄/四级/无盲区/红外/光电/小型/冲床/折弯机/机床安全光栅及传感器公司推荐!随着工业自动化和智能制造的快速发展,安全光栅在各种机械设备中的应用越来越广泛。为了确保生产…

2025 年吸塑纸卡厂家推荐榜:吸塑热压/牙刷/电池/玩具/牙刷烫银纸卡厂家,聚焦环保与品质,帮企业精准选对合作伙伴

随着消费市场对包装环保性、定制化需求的提升,以及工业产品包装标准化进程加快,吸塑纸卡、彩盒、吊牌等纸张印刷产品已成为日用品、电子产品、玩具等行业的核心配套环节。2025 年,国内纸张印刷市场规模预计持续增长…

2025年10月风机盘管定制厂家最新推荐排行榜:专业定制与优质服务口碑之选

2025年10月风机盘管定制厂家最新推荐排行榜:专业定制与优质服务口碑之选随着建筑行业对室内环境舒适度和能效要求的不断提高,风机盘管作为中央空调系统的重要组成部分,其质量和性能显得尤为重要。为了帮助筛选风机盘…

2025年10月液压阀块厂家最新推荐排行榜,专业生产与品质保障的首选!

2025年10月液压阀块厂家最新推荐排行榜,专业生产与品质保障的首选!随着工业技术的不断进步,液压系统在各个领域的应用越来越广泛。液压阀块作为液压系统中的关键组件,其质量和性能直接影响到整个系统的稳定性和可靠…