📋 目录一、统计概览二、Top10 慢查询明细三、高频慢查询模式(频次维度)四、逐条优化建议汇总五、数据来源与生成时间

MySQL 慢查询日报 2026-11-01

一、统计概览

指标值
当日慢日志文档数(模式分析样本)2,028 条(单页拉全,未超 5000)
SQL 指纹数636 个
Top10 中备份导出(user=backup)9 条
Top10 中业务/其他1 条(commit;,user=sonic,297s)
单条最慢SELECT * FROM t8891.t_item_modi_histories(backup,2030s)
备份模式累计耗时(可见 Top 指纹)≈ 4,236s+(全量 mysqldump,见高频表标注)
昨日(11-01)staging 有数据,未触发前日回退。

二、Top10 慢查询明细

#耗时(s)Lock(s)rows_sent/Examineduser实例/服务器SQL(截断)慢因判定
12030.20.00035,693,964 / 5,693,964backupstaging/8891 (LAN_addcn_84)SELECT /*!40001 SQL_NO_CACHE */ * FROM t8891.t_item_modi_histories备份全表导出(EXPLAIN: ALL,全扫 502 万行,cost 2.18M)
21228.40.00023,290,762 / 3,290,762backupstaging/8891SELECT ... * FROM t8891.t_sele_item_infos备份全表导出(ALL,277 万行)
3576.60.01816,681 / 16,681backupstaging/8891SELECT ... * FROM t8891.yahoo_car_details备份全表导出(ALL,宽行:6,270 行耗时 576s,单行极大 BLOB/TEXT)
4401.00.000522,929,970 / 22,929,970backupstaging/8891SELECT ... * FROM t8891.t_sele_item_photos备份全表导出(ALL,2,180 万行照片表)
5376.50.000439,105,741 / 39,105,741backupstaging/8891SELECT ... * FROM t8891.t_subscription_push备份全表导出(ALL,3,953 万行)
6322.10.000214,274,350 / 14,274,350backupstaging/8891SELECT ... * FROM t8891.t_member_ips备份全表导出(ALL,1,386 万行)
7311.00.000030,506,180 / 30,506,180backupstaging/100-slave (LAN_addcn_46)SELECT ... * FROM t591.t1_daily_report备份全表导出(ALL,2,885 万行)
8300.90.00029,328 / 9,328backupstaging/8891SELECT ... * FROM t8891.save_car_details备份全表导出(宽行:4,033 行耗时 301s,单行 BLOB 极大)
9297.20.00000 / 0sonicstaging/8891commit;大事务提交:redo 刷盘耗时长(事务内累积大量写)
10293.90.053414,726 / 414,726backupstaging/8891SELECT ... * FROM t8891.t_search_all_deal_items_thumb备份全表导出(ALL,25 万行宽行)

小结:Top10 中 9 条为 mysqldump 全表导出(user=backup),集中在 8891 实例;EXPLAIN 全部为 ALL 全表扫描属预期(无 WHERE)。业务侧唯一入榜的是 commit;(297s),指向超大事务。

三、高频慢查询模式(频次维度)

样本 2,028 条 / 636 指纹(search_after 翻页,1 页取全)。「按累计耗时」表包含备份模式(单独标注)。

按条数 Top5

#条数平均(s)最大(s)累计(s)用户服务器指纹(截断)备注
13124.52—1410.2addcn8891_test/bee/eagle/jumper/jumper_dev/sonicLAN_addcn_27/37/84commit;⚠ 触发深度分析
22541.63—414.4jmysqlLAN_addcn_27_3307/37/40_3308show engine innodb status;⚠ 触发深度分析(监控探针)
31481.60—236.68591/jmysqlLAN_addcn_27/46# administrator command: Ping;⚠ 触发深度分析(连接池 Ping)
4911.61—146.88591LAN_addcn_27rollback;未达阈值(100 条)
5711.16—82.5a591LAN_addcn_46select i.*, coalesce(v.views_30d,?) ... from t_...(商品列表联查)未达阈值

按累计耗时 Top5

#条数平均(s)累计(s)用户服务器指纹(截断)备注
112030.22030.2backupLAN_addcn_84select * from t8891.t_item_modi_histories🔖 备份模式,不深度分析
23124.521410.2多业务账号LAN_addcn_27/37/84commit;⚠
311228.41228.4backupLAN_addcn_84select * from t8891.t_sele_item_infos🔖 备份
43122.02682.58591LAN_addcn_27_3307select sum(after_amount-before_amount) ... from h8_finance_account_logs where user_id=? and sub_account=?累计未达 30min 阈值,但单条均值 22s,已补充 DDL+EXPLAIN(见下)
51576.6576.6backupLAN_addcn_84select * from t8891.yahoo_car_details🔖 备份

(另一值得注意:select * from h8_finance_account_logs where user_id=? and sub_account=? order by id desc limit ?,15 条 / avg 34.0s / 累计 509.3s,同表同根因,一并分析。)

触发深度分析的模式详情

模式 1:commit; — 312 条 / avg 4.52s / 累计 23.5 分钟 ⚠

  1. 排查 sonic / addcn8891_test 应用的批量写代码,按 500~1000 行分批提交,避免单事务百万行级写入;
  2. 确认 innodb_flush_log_at_trx_commit / sync_binlog staging 配置是否为 1/1(测试环境可放宽为 2/0 以降低每次 commit 的 fsync 成本);
  3. 错峰:备份任务(见备份标注)与大批量写任务避免同窗口。

模式 2:show engine innodb status; — 254 条 / avg 1.63s ⚠

模式 3:# administrator command: Ping; — 148 条 / avg 1.60s ⚠

补充分析:h8_finance_account_logs(hk8591 库,未达条数阈值但均值 22~34s,主动跟进)

  1. 加覆盖索引,消除 SUM 回表:ALTER TABLE hk8591.h8_finance_account_logs ADD INDEX idx_usa_amounts (user_id, sub_account, after_amount, before_amount);(低峰执行,线上先在从库验证);
  2. 分页查询强制/引导使用 idx_user_sub_account_id(该索引 (user_id, sub_account, id DESC) 可免 filesort),如 ORDER BY id DESC 已匹配则检查统计信息为何优化器弃用,必要时 ANALYZE TABLE;
  3. 业务侧治本:账户余额改为余额表字段 + 流水校验,或对 SUM 做增量汇总/缓存,避免每次全历史聚合。

备份模式标注(user=backup)

mysqldump 全表导出当日覆盖 8891 全部大表(Top10 中 9 条)与 100-slave 的 t591.t1_daily_report,单表最长 2030s。条数与历史常规量级一致(每大表 1 条),未触发深度分析。建议:备份窗口避开业务高峰,或改用 xtrabackup/快照方式减少 SQL 层全表扫描。

四、逐条优化建议汇总

  1. 大事务 commit(312 条 + 297s 极值):业务批量写分批提交;检查 innodb_flush_log_at_trx_commit/sync_binlog;与备份错峰。
  2. h8_finance_account_logs SUM/分页:新增覆盖索引 (user_id, sub_account, after_amount, before_amount);引导分页用 idx_user_sub_account_id;余额改汇总表/缓存。
  3. show engine innodb status 探针 254 次:降频或换 performance_schema 数据源。
  4. 备份导出:staging 8891 大表(照片 2180 万行、订阅推送 3953 万行、daily_report 2885 万行)全表 SELECT *,建议 xtrabackup 或延长备份间隔、限流(--single-transaction 已用前提下加 --max-allowed-packet 调优与带宽限速)。
  5. yahoo/save_car_details 宽行表:单行 BLOB 极大(6千行/4千行耗时 576s/301s),确认大字段是否必须随表备份,考虑把历史 BLOB 归档分离。
  6. h8_orders buyer 列表查询(57 条,EXPLAIN 已命中 bica(buyer_id,...) range):当前计划可接受,若量级上升可评估 (buyer_id, state, created_at) 复合索引消除过滤。

五、数据来源与生成时间