📋 目录一、统计概览二、Top10 慢查询明细三、高频慢查询模式(频次维度)四、深度分析(触发阈值模式 + 高风险补充)五、逐条优化建议汇总六、数据来源与生成时间

MySQL 慢查询日报 2026-10-27

统计范围:2026-10-27 00:00:00 ~ 23:59:59(Asia/Shanghai)· 环境:staging
数据来源:MCP es_slow_logs / es_search(ES 索引 mysql_slow-*,按 @timestamp UTC 过滤)

一、统计概览

指标数值
慢查询总条数1,581 条
累计耗时≈ 15,850 s(约 4.4 小时)
归一化 SQL 指纹数585 个
耗时最大单条1,531 s(backup 全表导出 t_item_modi_histories)

按用户耗时分布(Top):

用户条数累计耗时 (s)说明
backup41311,813mysqldump 全表导出(备份模式,单独标注)
85913521,391业务账号(hk8591/tw8591 相关)
sonic166767含大量慢 commit;
jmysql297535监控采集(SHOW ENGINE INNODB STATUS / Ping)
a8591118505业务账号
databasus_backup12325备份
a591 / anylink / bee 等~200~460其他业务账号

二、Top10 慢查询明细

#耗时 (s)库.表 / SQL 摘要用户来源实例Rows_sent / Examined慢因判断
11531.3t8891.t_item_modi_histories 全表导出backupstaging/8891 (LAN_addcn_84)5,693,964 / 5,693,964备份全表扫描(EXPLAIN: type=ALL, rows≈502万)
21152.3t8891.t_sele_item_infos 全表导出backupstaging/8891 (LAN_addcn_84)3,290,762 / 3,290,762备份全表扫描(EXPLAIN: type=ALL, rows≈300万)
3480.7t8891.yahoo_car_details 全表导出backupstaging/8891 (LAN_addcn_84)16,681 / 16,681备份导出 + 宽行大结果集(URL/slug/text 大字段,仅 1.6 万行却耗时 480s)
4361.2t8891.t_subscription_push 全表导出backupstaging/8891 (LAN_addcn_84)39,105,741 / 39,105,741备份全表扫描(EXPLAIN: type=ALL, rows≈3952万)
5300.2t8891.t_sele_item_photos 全表导出backupstaging/8891 (LAN_addcn_84)22,929,970 / 22,929,970备份全表扫描(EXPLAIN: type=ALL, rows≈2180万)
6298.5anylink.access_audit 全表导出backupstaging/TD-slave (LAN_addcn_51)62,439,899 / 62,439,899备份全表扫描(EXPLAIN: type=ALL, rows≈5795万)
7295.7t591.t1_daily_report 全表导出backupstaging/100-slave (LAN_addcn_46)30,407,965 / 30,407,965备份全表扫描(EXPLAIN: type=ALL, rows≈2885万)
8275.4commit;(事务提交)sonicstaging/8891 (LAN_addcn_84)0 / 0大事务/组提交刷盘等待(详见 §四 深度分析)
9250.3anylink_corp.access_audit 全表导出backupstaging/TD-slave (LAN_addcn_51)56,935,701 / 56,935,701备份全表扫描(EXPLAIN: type=ALL, rows≈5212万)
10223.8hk8591.h8_finance_account_logs 全表导出backupstaging/tw8591 (LAN_addcn_27_3307)13,603,708 / 13,603,708备份全表扫描(表约 1,359 万行,实测在 hk8591 主库可见 DDL)

Top10 结论:10 条中 9 条为 backup 账号的 mysqldump 全表导出,全部为 type=ALL 全表扫描、Lock_time 均 <0.001s(无锁等待),属「备份大结果集传输 + 全表扫描」,为常规备份开销,非业务劣化信号;第 8 条 commit; 见深度分析。

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

对全日 1,581 条慢日志做 SQL 指纹归一化(字符串/数字/IN 列表 → ?)后聚合,共 585 个模式。

3.1 按条数 Top5

#条数平均 (s)最大 (s)累计 (s)模式(SQL 骨架)用户服务器
11914.21275.37804commit; ⚠️sonic/jumper/bee/addcn8891_test/jumper_devLAN_addcn_27/37/84
21721.472.76253show engine innodb status (监控采集)jmysqlLAN_addcn_27/37/40_3308/46
3991.382.39136# administrator command: ping; (连接探活)8591/jmysqlLAN_addcn_27/46
4661.392.0892rollback;8591LAN_addcn_27
5651.161.3676select i.*, coalesce(v.views_30d, ?) ... (列表页联表查询)a591LAN_addcn_46

3.2 按累计耗时 Top5

#条数平均 (s)最大 (s)累计 (s)模式(SQL 骨架)用户备注
111531.31531.31,531select /*!40001 sql_no_cache */ * from t8891.t_item_modi_historiesbackup【备份模式】
211152.31152.31,152select /*!40001 sql_no_cache */ * from t8891.t_sele_item_infosbackup【备份模式】
31914.21275.4804commit; ⚠️sonic 等见深度分析
41928.93113.6550select sum(after_amount - before_amount) as balance from hk8591.h8_finance_account_logs where user_id = ? and sub_account = 11 🔴8591见深度分析(补充)
51480.7480.7481select /*!40001 sql_no_cache */ * from t8891.yahoo_car_detailsbackup【备份模式】
【备份模式】= user=backup(mysqldump 全表导出),按口径不触发深度分析。backup 用户全日共 413 条、累计 11,813s(含 databasus_backup 另 12 条/325s),条数与日常备份规模持平,未见明显环比异常。
⚠️ = 触发深度分析条件(非备份且条数 >;100 或累计 >30min)。
🔴 = 未达触发阈值,但单条均值显著偏高(28.9s),已补充 explain 分析。

四、深度分析(触发阈值模式 + 高风险补充)

4.1 commit;(191 条 / 累计 804s / 最大 275s)⚠️

  1. 应用侧(sonic 对应服务)排查长事务:将大事务拆小、避免单事务内堆积大量行变更后统一 commit;
  2. 备份错峰:将 mysqldump 与业务批量任务时段错开(当前备份与 sonic 批处理重叠);
  3. 若持续出现,检查 staging/8891 实例磁盘 IO 利用率与 innodb_flush_log_at_trx_commit 配置(staging 可评估设为 2)。

4.2 SHOW ENGINE INNODB STATUS(172 条 / 累计 253s)⚠️

4.3 补充:h8_finance_account_logs 余额汇总(19 条 / 平均 28.9s / 累计 550s)🔴

SELECT sum(after_amount - before_amount) AS balance
FROM `hk8591`.`h8_finance_account_logs`
WHERE user_id = ? AND sub_account = 11;
  1. 改 SQL:sub_account = '11'(加引号,匹配 char 类型),即可完整命中 asacca(user_id, sub_account) 两列前缀,扫描量预计从 ~3.3 万行降到精确范围;
  2. 该查询为余额汇总,若调用频繁可考虑用余额快照表/缓存替代实时 SUM;
  3. 排查 hk8591 代码中所有对 sub_account 的数字字面量写法(grep sub_account = 11 / sub_account in (11,...)),统一改为字符串。

4.4 补充:h8_orders buyer_id 批量查询(52 条 / 平均 2.28s / 最大 15.5s)

SELECT id, buyer_id, completed_at FROM h8_orders WHERE buyer_id IN (1010170, ...);

五、逐条优化建议汇总

对象问题建议优先级
hk8591.h8_finance_account_logs 余额 SUMsub_account = 11 隐式类型转换,索引只命中 user_id改为 sub_account = '11';高频调用改余额快照/缓存高
sonic 长事务 commit(LAN_addcn_84)大事务提交 + 备份 IO 高峰叠加,最长 275s拆小事务;备份错峰;评估 innodb_flush_log_at_trx_commit=2(staging)高
backup 全表导出(Top10 中 9 条)大表全表扫描 + 大结果集传输,单表最长 1531s备份走从库/专用副本;对 t_subscription_push(3952万)、access_audit(5795万) 等审计/推送大表评估归档清理后再备份中
jmysql 监控 SHOW 语句进慢日志采集固有开销,172 条/253s降频或采集侧过滤,非性能问题低
h8_orders buyer_id IN 批量查询IN 列表过大 + 备份时段 IO 争抢分批(≤50/批);索引已健康无需改动低
t8891.yahoo_car_details 备份仅 1.6 万行却 480s,text 宽行传输慢备份脚本对含大 text 字段表启用 --skip-extended-insert 调优或压缩传输低

六、数据来源与生成时间