📋 目录一、统计概览二、Top10 慢查询明细三、高频慢查询模式(指纹聚合,1,695 条 /四、深度分析详情五、逐条优化建议汇总六、数据来源与生成时间

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

一、统计概览

指标数值
昨日慢日志总条数1,695
SQL 指纹数597
Top1 慢查询1553.3s(backup 全表导出 t8891.t_item_modi_histories)
Top10 中 backup 导出占比9/10
高频模式 Top1(非备份)commit; 217 条 / 累计 875.6s
触发深度分析的模式commit;(条数>100)、SELECT sum(...) h8_finance_account_logs(单条均 34s)

Top10 几乎全部为 mysqldump 备份全表导出(user=backup),属预期行为;真正值得关注的是 commit; 平均 4s、全天 217 次(事务提交/IO 压力)与 h8_finance_account_logs 余额汇总查询单条 34s。

二、Top10 慢查询明细

#Query_time(s)Lock_time(s)Rows_sentRows_examined用户实例SQL(截断)慢因
11553.280.00065,693,9645,693,964backupstaging/8891SELECT /*!40001 SQL_NO_CACHE */ * FROM t8891.t_item_modi_histories备份全表导出(EXPLAIN: ALL 全扫,data_read ≈14G/次)
21141.240.00033,290,7623,290,762backupstaging/8891SELECT /*!40001 SQL_NO_CACHE */ * FROM t8891.t_sele_item_infos备份全表导出(ALL,≈20G/次)
3477.000.000216,68116,681backupstaging/8891SELECT /*!40001 SQL_NO_CACHE */ * FROM t8891.yahoo_car_details备份全表导出(宽行 text 列,ALL)
4339.940.000339,105,74139,105,741backupstaging/8891SELECT /*!40001 SQL_NO_CACHE */ * FROM t8891.t_subscription_push备份全表导出(3900 万行)
5313.650.000122,929,97022,929,970backupstaging/8891SELECT /*!40001 SQL_NO_CACHE */ * FROM t8891.t_sele_item_photos备份全表导出
6302.170.000030,388,32230,388,322backupstaging/100-slaveSELECT /*!40001 SQL_NO_CACHE */ * FROM t591.t1_daily_report备份全表导出(≈7G/次)
7293.460.000000sonicstaging/8891commit;大事务提交:redo/undo 刷盘耗时(受同机 backup 导出 IO 挤压),非锁等待
8286.190.000062,342,61362,342,613backupstaging/TD-slaveSELECT /*!40001 SQL_NO_CACHE */ * FROM anylink.access_audit备份全表导出(6234 万行审计大表)
9252.170.000056,913,33156,913,331backupstaging/TD-slaveSELECT /*!40001 SQL_NO_CACHE */ * FROM anylink_corp.access_audit备份全表导出
10224.560.000213,603,61613,603,616backupstaging/tw8591SELECT /*!40001 SQL_NO_CACHE */ * FROM hk8591.h8_finance_account_logs备份全表导出

慢因判定说明(每条均已走 describe_schema + EXPLAIN):

三、高频慢查询模式(指纹聚合,1,695 条 / 597 指纹)

按条数 Top5

#条数均耗时(s)最大(s)累计(s)用户服务器模式(归一化)备注
12174.04293.46875.6a8591/bee/sonic 等 7 个LAN_addcn_27/37/84commit;⚠️ 触发深度分析
21561.50-233.38591/jmysqlLAN_addcn_27/46# administrator command: Ping;连接空闲/网络抖动,非 SQL 慢
31211.38-167.0jmysql多台SHOW ENGINE INNODB STATUS;监控采集争抢锁,非业务
4711.40-99.38591LAN_addcn_27rollback;事务回滚,多为显式事务失败
5662.61-172.08591LAN_addcn_27_3307select id,buyer_id,completed_at from h8_orders where buyer_id in (?…)buyer_id 走索引,量级正常

按累计耗时 Top5

#条数均耗时(s)累计(s)用户服务器模式(归一化)备注
111553.281553.3backupLAN_addcn_84SELECT * FROM t8891.t_item_modi_histories【备份】不深度分析
211141.241141.2backupLAN_addcn_84SELECT * FROM t8891.t_sele_item_infos【备份】
32174.04875.6多用户3 台commit;⚠️ 触发深度分析
41734.15580.6多用户LAN_addcn_27_3307SELECT sum(after_amount-before_amount) FROM h8_finance_account_logs WHERE user_id=? AND sub_account=?⚠️ 深度分析(见下)
51477.00477.0backupLAN_addcn_84SELECT * FROM t8891.yahoo_car_details【备份】

*backup 模式(mysqldump 全表导出)条数与常规日持平,无环比翻倍迹象,不触发深度分析。

四、深度分析详情

4.1 commit; —— 217 条 / 平均 4.04s / 累计 875.6s(触发条件:条数 > 100)

  1. 备份错峰:将 mysqldump 调整到业务低峰(如 02:00-05:00),并按表分批限速(--single-transaction + pipeviewer/ ionice 降 IO 优先级)。
  2. 排查应用侧长事务:sonic 的 293s commit 提示可能存在大事务(批量写入未分片),建议单事务控制在 1,000~5,000 行。

4.2 SELECT sum(after_amount - before_amount) ... FROM h8_finance_account_logs WHERE user_id=? AND sub_account=? —— 17 条 / 平均 34.15s / 累计 580.6s

  ALTER TABLE h8_finance_account_logs
    ADD INDEX idx_user_sub_acc_amounts (user_id, sub_account, before_amount, after_amount);

使 SUM 查询成为 index-only scan(消除 2 万次/次的回表);若该查询来自余额展示接口,另建议在应用层做余额快照表或缓存(账户余额 = 末条 after_amount,无需全量 SUM)。

五、逐条优化建议汇总

  1. backup 导出(Top10 9 条):错峰 + 限速;大表(t_subscription_push 3,900 万行、access_audit 6,200 万行)建议改用 xtrabackup/物理备份或分库分批导出,避免白天长时间占 IO。
  2. commit; 高频变慢(217 条):见 4.1,备份错峰 + 应用侧控制事务大小。
  3. h8_finance_account_logs SUM 查询:见 4.2,加覆盖索引 (user_id, sub_account, before_amount, after_amount)。
  4. SHOW ENGINE INNODB STATUS 121 条:监控(jmysql)在慢日志窗口内采集自身被拖慢,属备份 IO 挤压的次生现象,备份错峰后自然恢复。
  5. h8_orders buyer_id IN 查询(66 条/均 2.6s):buyer_id 已走索引、未达深度分析阈值(<100 条且 <30 分钟),维持观察。

六、数据来源与生成时间