📋 目录统计概览Top10 明细表高频慢查询模式(指纹归一化聚合,全量 1,870逐条优化建议汇总数据来源与生成时间

MySQL 慢查询日报 2026-10-28

统计概览

指标数值
统计范围2026-10-28 00:00:00 ~ 23:59:59(Asia/Shanghai,即 UTC 2026-10-27T16:00 ~ 2026-10-28T16:00)
环境staging(ES 索引 mysql_slow-*)
慢日志总条数1,870 条
SQL 指纹数602 个
Top10 耗时合计≈ 5,299 s(其中 9 条为 backup 全量导出,占 ≈ 94%)
昨日数据有(未回退前日)

总体结论:昨日 staging 慢日志以 mysqldump 备份全表导出(user=backup) 为主,条数正常(每表各 1 条,无环比翻倍迹象),不触发深度分析;非备份侧最突出的是 staging/8891(LAN_addcn_84)上 sonic 用户的 148 次 commit 慢提交 与 hk8591.h8_finance_account_logs 余额汇总/明细查询。

Top10 明细表

#Query_time(s)用户主机(实例)库.表rows_examined/sentSQL 摘要慢因类型
11575.99backupLAN_addcn_84 (staging/8891)t8891.t_item_modi_histories5,693,964 / 5,693,964mysqldump SELECT * 全表导出大结果集传输(备份)
21150.70backupLAN_addcn_84 (staging/8891)t8891.t_sele_item_infos3,290,762 / 3,290,762mysqldump SELECT *大结果集传输(备份)
3509.13backupLAN_addcn_84 (staging/8891)t8891.yahoo_car_details16,681 / 16,681mysqldump SELECT *(宽表/大字段)大结果集传输(备份)
4364.30backupLAN_addcn_84 (staging/8891)t8891.t_subscription_push39,105,741 / 39,105,741mysqldump SELECT *大结果集传输(备份)
5326.95backupLAN_addcn_84 (staging/8891)t8891.t_sele_item_photos22,929,970 / 22,929,970mysqldump SELECT *大结果集传输(备份)
6310.58backupLAN_addcn_46 (staging/100-slave)t591.t1_daily_report30,427,608 / 30,427,608mysqldump SELECT *大结果集传输(备份,跑在从库)
7291.46backupLAN_addcn_51 (staging/TD-slave)anylink.access_audit62,562,923 / 62,562,923mysqldump SELECT *大结果集传输(备份,6200万行审计表)
8286.56sonicLAN_addcn_84 (staging/8891)—0 / 0commit;其他:事务提交慢(大事务/binlog fsync,与同机备份导出叠加 IO 争用高度相关)
9239.88backupLAN_addcn_51 (staging/TD-slave)anylink_corp.access_audit56,945,251 / 56,945,251mysqldump SELECT *大结果集传输(备份)
10228.07backupLAN_addcn_27_3307 (staging/tw8591)hk8591.h8_finance_account_logs13,603,800 / 13,603,800mysqldump SELECT *大结果集传输(备份)

EXPLAIN 验证(Top 均已完成 describe_schema + explain,MCP 只读):#1~#7、#9 全部 access_type=ALL(全表扫描),rows_examined ≈ rows_sent,属"预期内的全量读取",非缺索引问题;#8 commit 与 #10 库不在所连实例(hk8591 实际在 staging/hk8591 = 192.168.8.27:3307),已在高频模式一节补齐分析。

高频慢查询模式(指纹归一化聚合,全量 1,870 条)

按条数 Top5

#条数均耗时(s)累计耗时用户涉及 server指纹
13231.61519sjmysqlLAN_addcn_27_3307、LAN_addcn_40_3308SHOW ENGINE INNODB STATUS;(监控采集)
21484.91727ssonicLAN_addcn_84commit; ⚠️触发深度分析
31141.42162s8591/jmysqlLAN_addcn_27、LAN_addcn_46# administrator command: Ping;(连接保活)
4751.42107s8591LAN_addcn_27rollback;
5681.1780sa591LAN_addcn_46房源列表联查(COALESCE views_30d/vip_level…)

按累计耗时 Top5

#累计耗时条数均耗时(s)用户指纹
11576s11576.0backupSELECT * FROM t8891.t_item_modi_histories(备份导出,单条,条数正常)
21151s11150.7backupSELECT * FROM t8891.t_sele_item_infos(备份导出)
3727s1484.9soniccommit; ⚠️触发深度分析(条数>;100)
4519s3231.6jmysqlSHOW ENGINE INNODB STATUS; ⚠️触发深度分析(条数>;100)
5509s1509.1backupSELECT * FROM t8891.yahoo_car_details(备份导出)

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

① commit; — 148 条,均 4.91s,最大 286.6s,累计 727s(sonic @ LAN_addcn_84 / staging-8891)

  1. 备份错峰:将 mysqldump 调整到业务低峰(如 02:00-05:00),或改用 XtraBackup / --single-transaction + 分库分表分批导出,避免单条 SELECT * 连续读数十分钟。
  2. 确认 8891 的 innodb_flush_log_at_trx_commit / sync_binlog 配置;staging 若可容忍,可评估 innodb_flush_log_at_trx_commit=2。
  3. sonic 应用侧排查是否存在超大事务(一次提交过多行),改为分批提交。

② SHOW ENGINE INNODB STATUS; — 323 条,均 1.61s,累计 519s(jmysql 监控 @ 27_3307 / 40_3308)

**③ 附加深度分析(未达条数阈值,但均 25.9s 必须关注):SELECT sum(after_amount-before_amount) … FROM hk8591.h8_finance_account_logs WHERE user_id=? AND sub_account=? — 16 条,均 25.90s,最大 83.1s;同表 SELECT * … ORDER BY id DESC LIMIT ? — 17 条,均 10.36s(8591 @ LAN_addcn_27_3307 = staging/hk8591)**

  1. 覆盖索引消除回表:ALTER TABLE hk8591.h8_finance_account_logs ADD KEY idx_user_sub_amt (user_id, sub_account, after_amount, before_amount);(在线 DDL,先在 staging 验证;SUM 查询将变为纯索引扫描)。注意写入放大,此表写入频繁,需评估。
  2. 更优方案:余额是典型"可物化"指标——为账户维表/汇总表维护 balance 字段(流水写入时同事务更新),SUM 查询降为 O(1),根治随机 IO。
  3. 列表查询加 FORCE INDEX (idx_user_sub_account_id) 或删掉冗余的 asacca 前缀重叠(asacca 以 (user_id,sub_account) 开头与 idx_user_sub_account_id 前 两列重复,可评估保留一个),消除 filesort。

④ 其他值得注意(未触发阈值)

逐条优化建议汇总

  1. 备份窗口错峰(Top10 #1~#7/#9/#10、commit 慢):mysqldump 移到低峰,或换物理备份/分批导出;backup 模式条数正常,无需其他处理。
  2. h8_finance_account_logs:加覆盖索引 idx_user_sub_amt 或改余额汇总表(见③,优先方案 2)。
  3. house_repost:加 (ispay, status, rectime) 索引。
  4. access_audit / access_audit(anylink_corp):6,200 万/5,700 万行审计表,备份 + DELETE 都慢;建议按月分区或定期归档,DELETE 改分批。
  5. 慢日志采集降噪:过滤 SHOW ENGINE INNODB STATUS、Ping、commit/rollback 等非业务语句,提升日报信噪比。

数据来源与生成时间