📋 目录统计概览Top10 慢查询明细高频慢查询模式(指纹归一化,共 684 个模式)深度分析(describe_schema + E优化建议汇总(按优先级)数据来源与生成时间

MySQL 慢查询日报 2026-11-05

统计概览

指标数值
统计区间2026-11-05 00:00:00 ~ 23:59:59(Asia/Shanghai,UTC+8)
环境staging
慢日志总条数5,622
慢查询累计耗时60,093 s ≈ 16.7 小时
其中备份(user=backup)占比14,084 s ≈ 3.9 小时(23.4%)
非备份累计耗时46,009 s ≈ 12.8 小时
涉及实例(server_name)LAN_addcn_27、27_3307、37、40_3308、44、46、51、81、84 共 9 台
最突出问题aiworkflow 库(staging/8891)批量任务 SQL 全天累计 ≈7 小时,其中 21 条单条 35 分钟以上

Top10 慢查询明细

#Query_timeLock_timeRows_examinedRows_sent用户库实例(alias)SQL 摘要初步判定
13412.06s0.0004s66,0810addcn8891_testaiworkflowstaging/8891SELECT qa_hub_executionrun.* (29列含longtext) INNER JOIN core_testrequirement LEFT JOIN qa_hub_executionevidence LEFT JOIN qa_hub_executionevent … GROUP BY id LIMIT 60GROUP BY+大字段+等待(见分析 A)
22971.47s0.0003s12,1020addcn8891_testaiworkflowstaging/8891同上(同一指纹模式)同上
32957.00s0.0002s11,7470addcn8891_testaiworkflowstaging/8891同上同上
42889.79s0.0004s11,2360addcn8891_testaiworkflowstaging/8891同上同上
52889.60s0.0004s11,4420addcn8891_testaiworkflowstaging/8891同上同上
62845.64s0.0003s10,8360addcn8891_testaiworkflowstaging/8891同上同上
72732.51s0.0005s10,3120addcn8891_testaiworkflowstaging/8891同上同上
82616.20s0.0004s9,8860addcn8891_testaiworkflowstaging/8891同上同上
91900.68s0.0006s5,693,9645,693,964backupt8891staging/8891SELECT /*!40001 SQL_NO_CACHE */ * FROM t8891.t_item_modi_histories备份全表导出(569 万行)
101393.91s0.0790s3,290,7623,290,762backupt8891staging/8891SELECT /*!40001 SQL_NO_CACHE */ * FROM t8891.t_sele_item_infos备份全表导出(329 万行)
前 8 条为同一 SQL 指纹(Django ORM 生成的列表页聚合查询),全天共出现 21 次、累计 23,475s;单条扫描行数仅 1~6.6 万,Lock_time 微小但 rows_sent=0——不是索引问题,详见深度分析 A。

高频慢查询模式(指纹归一化,共 684 个模式)

按条数 Top5

#条数平均耗时最大耗时累计耗时用户库SQL 指纹标注
11,5003.67s22.26s5,511saddcn8891_testaiworkflowSELECT DISTINCT core_userprofile.* WHERE is_active=? AND role_types LIKE ?触发深析(B)
21,0793.65s13.79s3,939saddcn8891_testaiworkflowSELECT qa_hub_designinput.* JOIN designmission LEFT JOIN designnode WHERE flow_id=? OR mission_id=? ORDER BY id触发深析(C)
32394.19s296.66s1,002slog/sonic多库commit;实例 IO/刷盘压力信号
42131.62s2.75s345sjmysql—SHOW ENGINE INNODB STATUS;监控采集,本身是被压信号
51834.05s252.51s741s多用户多库COMMIT;实例 IO/长事务信号

按累计耗时 Top5

#条数平均耗时最大耗时累计耗时用户库SQL 指纹标注
1211,117.89s23,475.7s(max 单条 3412s)23,475.7saddcn8891_testaiworkflowSELECT executionrun 29列 + COUNT(DISTINCT evidence/event) 3表 JOIN GROUP BY id LIMIT ?触发深析(A)
21,5003.67s22.26s5,511.0saddcn8891_testaiworkflow同条数表 #1触发深析(B)
31,0793.65s13.79s3,939.4saddcn8891_testaiworkflow同条数表 #2触发深析(C)
410624.77s108.48s2,625.8saddcn8891_testaiworkflowSELECT designartifact.* WHERE mission_id=? AND kind=? AND round=? ORDER BY id DESC LIMIT 1触发深析(D)
511,900.68s1,900.68s1,900.7sbackupt8891SELECT * FROM t8891.t_item_modi_histories🗄️ 备份模式,不做深析
🗄️ 备份模式说明:user=backup 的 mysqldump 全表导出全天约 30 张表、累计 14,084s,集中在 01:00~02:15(如 t_item_modi_histories 1900s/569万行、t_sele_item_infos 1394s/329万行、yahoo_car_details 582s)。条数与单表耗时与日常备份量级一致,无明显环比异常,按口径不触发深度分析。

深度分析(describe_schema + EXPLAIN 均已执行)

A. qa_hub_executionrun 三表 JOIN 聚合(21 条 / 累计 6.5 小时,Top1-8 全部是它)

  1. 列表页查询去掉 longtext 大列(source_snapshot、result 等),详情再按 id 回表取;或把大字段拆到独立附表。
  2. COUNT(DISTINCT evidence.id)/COUNT(DISTINCT event.id) 改为对两张子表各一条 GROUP BY run_id 的预聚合子查询,避免 JOIN 产生笛卡尔放大与临时表。
  3. LIMIT 60 的列表页先用覆盖索引取 id 列表再回表;requirement_id IN (子查询) 可改为先查 id 列表再 IN 常量列表。
  4. 排查当天 10:11 起该实例的长事务/锁等待(information_schema.innodb_trx),确认是否有 30 分钟级事务阻塞该查询的元数据锁。

B. core_userprofile DISTINCT + JSON LIKE(1,500 条 / 累计 1.53 小时)

C. qa_hub_designinput 三表 JOIN(1,079 条 / 累计 1.09 小时)

  1. 列表查询去掉 content/original 大列(按 id 需要时再取)。
  2. OR 条件拆成 UNION 两支各自走索引(designnode(flow_id) 需有索引:当前 designnode 只有 mission_id 键,建议加 KEY idx_flow_id(flow_id);designinput 走现有 unique(mission_id,kind,digest) 前缀)。
  3. 轮询侧加退避:1,079 次/天大多来自批量任务循环,可与 B 一起加节流。

D. qa_hub_designartifact 按 mission 查(182 条 + 106 条变体 / 累计 1 小时)

E. GET_LOCK('tapd-api:…', 74)(152 条 / 累计 15 分钟,平均 5.9s、最大 42.8s)

F. 实例级信号:commit;/COMMIT;(422 条 / 累计 ~29 分钟)、SHOW ENGINE INNODB STATUS(213 条)

优化建议汇总(按优先级)

  1. 【高】aiworkflow 批量任务查询瘦身(A/B/C/D 同根因):去掉 SELECT 中的 source_snapshot、result、content、original、payload 等大字段,改为按 id 回表取详情;预计可消除全天约 5.5 小时慢日志(占非备份总量 43%)。
  2. 【高】executionrun 聚合查询改写(A-2/A-3):COUNT(DISTINCT …) 改子表预聚合,先取 id 列表再回表,消掉临时表;并排查当天 10 点后的长事务/MDL 等待。
  3. 【中】core_userprofile 角色查询加缓存(B):TTL 缓存即可,消 1,500 条/天。
  4. 【中】designnode 表补索引(C):ALTER TABLE aiworkflow.qa_hub_designnode ADD KEY idx_flow_id(flow_id);(低峰执行),配合 OR→UNION 改写。
  5. 【中】staging/8891 实例健康检查(F):慢 commit + 慢 SHOW ENGINE INNODB STATUS 集中出现,查主机 IO 利用率与长事务。
  6. 【低】备份窗口维持现状:01:00~02:15 mysqldump 量级正常,无异常放大;如需降低对白天的影响可保持现状(当前与业务高峰无重叠)。

数据来源与生成时间