📋 目录一、统计概览二、Top10 慢查询明细三、高频慢查询模式(指纹聚合,2448 条 / 四、逐条优化建议(可执行)五、数据来源与生成时间

MySQL 慢查询日报 2026-10-29(staging)

一、统计概览

指标值
慢日志条数(昨日全天)2,448
SQL 指纹数594
Top10 中 mysqldump 全表导出(user=backup)8 / 10 条
最慢单条1,526.9s(backup 导出 t8891.t_item_modi_histories,569 万行 / ~14G)
最突出业务模式qa_hub_dashboardsnapshot 查询:645 次 × 平均 2.4s ≈ 25.8 分钟

总判断:昨日 staging 慢查询几乎全部由 mysqldump 全量备份造成的实例级 IO 饱和 引发——192.168.8.84(staging/8891)白天连续导出千万行级大表(14G/20G/33G/80G 级 data_read),同实例的正常小查询(如 11 行的 snapshot 表、commit、SHOW ENGINE INNODB STATUS)被动变慢。

二、Top10 慢查询明细

#耗时(s)用户实例(alias)库.表行数 sent=examinedEXPLAIN 要点慢因类型
11526.9backupstaging/8891t8891.t_item_modi_histories5,693,964type=ALL,query_cost 217.9万,data_read 14G【备份】大结果集传输
21178.8backupstaging/8891t8891.t_sele_item_infos3,290,762type=ALL,data_read 20G【备份】大结果集传输
3474.0backupstaging/8891t8891.yahoo_car_details16,681type=ALL,data_read 18M(大 JSON 列)【备份】大结果集传输
4396.0backupstaging/8891t8891.t_subscription_push39,105,741type=ALL,3,953 万行,data_read 33G【备份】大结果集传输
5321.7backupstaging/100-slavet591.t1_daily_report30,447,251type=ALL,2,885 万行,data_read 7G【备份】大结果集传输
6306.3backupstaging/8891t8891.t_sele_item_photos22,929,970type=ALL,data_read 80G【备份】大结果集传输
7298.1backupstaging/TD-slaveanylink.access_audit62,689,911type=ALL,5,800 万行,data_read 72G【备份】大结果集传输
8293.2sonicstaging/8891—(commit;)0事务提交(无法 EXPLAIN)IO 饱和导致 commit/刷盘排队(同实例备份期间)
9248.2backupstaging/TD-slaveanylink_corp.access_audit56,953,981type=ALL,5,212 万行,data_read 65G【备份】大结果集传输
10237.6backupstaging/tw8591hk8591.h8_finance_account_logs13,603,892type=ALL,1,359 万行【备份】大结果集传输(经 192.168.8.27:3307)
Top10 中 9 条为 mysqldump 导出,1 条为受害的 commit。均无锁等待(Lock_time ≤ 0.03s)。

三、高频慢查询模式(指纹聚合,2448 条 / 594 指纹)

3.1 按条数 Top5

#条数平均(s)最大(s)累计用户server模式(脱参)
16452.407.231547.6s ≈ 25.8minaddcn8891_testLAN_addcn_84SELECT ... FROM qa_hub_dashboardsnapshot WHERE user_id=? ORDER BY updated_at DESC LIMIT 100 ⚠️
22534.07293.181029.8s多用户LAN_addcn_27/37/84commit; ⚠️(非业务 SQL)
32511.552.78388.8sjmysqlLAN_addcn_37/40/46SHOW ENGINE INNODB STATUS; ⚠️(监控命令)
41251.613.01200.8s8591/jmysqlLAN_addcn_27/46# administrator command: Ping; ⚠️(连接层)
5681.051.4171.1sa8591LAN_addcn_27gameList LEFT JOIN hitCount_month ...

3.2 按累计耗时 Top5

#累计条数平均(s)模式备注
11547.6s6452.40qa_hub_dashboardsnapshot 查询见 3.3 深度分析 ①
21526.9s11526.9SELECT * FROM t8891.t_item_modi_histories【备份 mysqldump】
31178.8s11178.8SELECT * FROM t8891.t_sele_item_infos【备份 mysqldump】
41029.8s2534.07commit;见 3.3 ②
5520.8s1730.64SELECT sum(after_amount-before_amount) FROM h8_finance_account_logs WHERE user_id=? AND sub_account=?未触发阈值(17 条),但均耗 30s+,主动附分析 ③

3.3 触发深度分析的模式(条数>100 或 累计>30min)

① qa_hub_dashboardsnapshot(645 次 / 25.8 分钟,aiworkflow 库 @ staging/8891)— 已做 describe_schema + explain

  1. 备份错峰/限流:把 staging/8891 的 mysqldump 移到业务低峰(夜间),并加 --single-transaction --max-allowed-packet + IO 限速(如 pv/cgroup),或改从 8891-slave(192.168.8.59)导出,根治这类"全实例变慢"。
  2. 应用侧降低轮询频率或加 60s 缓存(同一 user_id=3 的快照数据一天被拉 645 次)。
  3. 可选微优化:把 ORDER BY updated_at DESC LIMIT 100 的排序键并入索引(新索引 (user_id, updated_at))消除 filesort——对 11 行表收益极小,优先级低。

② commit;(253 次 / 1030s,max 293s)

③ 附:h8_finance_account_logs 余额汇总(17 次 × 平均 30.6s,@ staging/hk8591 192.168.8.27:3307)— 主动深度分析

④ SHOW ENGINE INNODB STATUS(251 次)/ Ping(125 次):监控类命令变慢,同样是实例 IO 饱和的症状而非原因,无需单独优化,备份错峰后预计自动恢复。

3.4 备份模式标注(user=backup,不触发深度分析)

昨日 backup 模式(mysqldump 全表导出)单条进入"累计耗时 Top"的有:t_item_modi_histories 1526.9s、t_sele_item_infos 1178.8s、yahoo_car_details 474.0s、t_subscription_push 396.0s 等(详见 Top10 表)。条数与既往常规备份量级一致(每表 1 条),无明显环比翻倍异常,按规则不做深度分析;但它们是本日其他慢查询的主要外因,治理建议见 3.3-①。

四、逐条优化建议(可执行)

  1. 【高优】备份错峰 + 限速 + 改走从库:staging/8891(192.168.8.84)的 mysqldump 移到夜间低峰、加 IO 限速,或改在 8891-slave(192.168.8.59)导出。可同时消除 Top10 中 9 条与高频模式①②④的根因。
  2. 【高优】hk8591.h8_finance_account_logs 加覆盖索引:ALTER TABLE hk8591.h8_finance_account_logs ADD INDEX idx_user_sub_amt (user_id, sub_account, before_amount, after_amount);(线上执行请用 pt-osc/gh-ost,1,359 万行)。预期 SUM 查询从 30s 降至毫秒级。
  3. 【中】aiworkflow.qa_hub_dashboardsnapshot:应用侧对快照查询加 60s 缓存或降频;可选 ADD INDEX idx_user_updated (user_id, updated_at) 消 filesort(收益小)。
  4. 【低】h8_orders buyer_id IN(...) 查询:EXPLAIN 命中 bica(buyer_id,created_at) range,仅扫 38 行,SQL 本身健康,慢为实例负载(27_3307 与备份共址)所致,无需改索引。
  5. 【低】gameList / t1_design_img 等 1s 级查询:条数与耗时均未触发阈值,EXPLAIN 优先级排后,随备份错峰观察。

五、数据来源与生成时间