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

MySQL 慢查询日报 2026-09-21

统计口径:2026-09-21 00:00:00 ~ 23:59:59(Asia/Shanghai),staging 环境全部 MySQL 实例
数据来源:ES 慢日志索引 mysql_slow-*(经 MCP es_slow_logs / es_search,UTC+8 昨日全天 → UTC [09-20T16:00Z, 09-21T16:00Z))
生成时间:2026-09-22 10:00 (CST) | 全程只读(describe_schema / EXPLAIN / _search),无任何写库、kill 或配置变更

一、统计概览

指标数值
慢查询总条数4,187
累计耗时85,673 s ≈ 23.8 小时
备份慢查询(mysqldump)845 条 / 32,258 s(占累计 37.7%)
业务慢查询(非备份)3,342 条 / 53,415 s
最慢单条2,383.6 s(backup 导出 test.facebook_photo)
慢查询最多实例LAN_addcn_117(staging/tw591,2,635 条,占 63%)
慢查询最多用户t591(1,564)、backup(829)、jmysql 监控(826)
聚合指纹数1,189 个模式

二、Top10 慢查询明细

昨日 Top10 全部为 backup 用户(mysqldump)全表导出,慢因均为「大结果集传输」:SELECT * 宽行 + SQL_NO_CACHE 全量回传,rows_examined ≈ rows_sent,无锁等待(Lock_time 均 < 1ms)。

#耗时(s)库.表行数实例慢因
12383.6test.facebook_photo101,727staging/tw591大结果集:表含 base64_photo longtext/ocr_result longtext 超宽行(DDL 已核实),单行可达数 MB
21538.2t8891.t_item_modi_histories5,693,964staging/8891大结果集:570 万行历史表全量导出
31385.8t591_new.fetch_data_item398,940staging/tw591大结果集:from_list/from_detail 均 longtext
41310.5t591_estate_data.rental_market_raw48,006staging/tw591大结果集:raw_html mediumtext 原始 HTML 全量
51176.5t591_transcription.land_shape_coordinates15,616,508staging/tw591大结果集:1,562 万行,coordinate json
61143.9t8891.t_sele_item_infos3,290,762staging/8891大结果集:329 万行
7994.7t591_new.fetch_data27,022staging/tw591大结果集:body longtext 抓取原文
8891.3server_monitor.line_business_tests331,786staging/tw591大结果集:5 个 json 列宽行
9837.4t591_new.market_spider_house_test195,429staging/tw591大结果集:objet_data longtext
10755.0t591_data.full_web_detail_source305,563staging/tw591大结果集:body longtext

备份环比:昨日备份慢查询 845 条 vs 前日 829 条(+1.9%),无异常增长 → 按规则不触发深度分析。

Top10 建议(通用):

三、高频慢查询模式(指纹聚合)

指纹归一化:字符串/数字/IN 列表 → ?,保留库表与 SQL 骨架。「按条数 Top5」:

#条数累计耗时平均(s)最大(s)用户实例模式
17481,127s1.52.9jmysql多实例(117/27/37/40/46)SHOW ENGINE INNODB STATUS(监控采集)
22882,745s9.512.7t591117GetGoldenSourceCommunityIDRepairStreets:golden_source ⋈ market_community_building ⋈ market_community GROUP BY street_id ⚠️深析
31441,540s10.713.2t591117CREATE TEMPORARY TABLE tmp_cvd_t1(带看记录 JSON 展开,每 5 分钟) ⚠️深析
414442,294s293.7307.2t591117tmp_cvd_t12:house_ep_source_relate 反连接去重(每 5 分钟) 🔴全天累计 11.7h,最大元凶
5144335s2.35.2t591117tmp_cvd_t14:house_source_ep_build_relate 反连接去重(每 5 分钟) ⚠️深析

「按累计耗时 Top5」:

#条数累计耗时平均(s)最大(s)用户模式
114442,294s (11.7h)293.7307.2t591tmp_cvd_t12 反连接去重(非备份) 🔴
284532,258s (9.0h)—2,383.6backupmysqldump 全表导出(【备份】,环比+1.9% 无异常)
32882,745s (45.8min)9.512.7t591GetGoldenSource 社区街道修复查询
41441,540s (25.7min)10.713.2t591tmp_cvd_t1 带看 JSON 展开临时表
5105241s2.34.8bee,t8891COMMIT(事务提交/组提交等待)

触发深度分析(条数>100 或 累计>30min,非备份):模式 2/3/4/5、SHOW ENGINE INNODB STATUS(748 条)、COMMIT(105 条)。后两者为监控/事务语句,不适用 describe_schema+EXPLAIN 链路,按语义分析见下。

四、深度分析详情(describe_schema + EXPLAIN 已核实)

🔴 P1:tmp_cvd_t12 —— 全天累计 11.7 小时(144 次 × 294s)

  1. 改写为窗口函数,一次扫描取组内最优:SELECT ep_source_id, post_id FROM (SELECT ep_source_id, post_id, ROW_NUMBER() OVER (PARTITION BY type, ep_source_id ORDER BY score DESC, post_id DESC) rn FROM t591_new.house_ep_source_relate WHERE type=2) t WHERE rn=1,单次 28.6 万行一遍即可完成,预计从 294s 降至 2~5s;
  2. 调度降频:全量去重结果变化缓慢,5 分钟 → 1 小时即可再降 12 倍;
  3. 若 MySQL < 8.0,可用 LEFT JOIN 自连接取 MAX(score) 等价改写,同样消除相关子查询。

🟠 P2:GetGoldenSourceCommunityIDRepairStreets —— 288 次 × 9.5s = 45.8 min/天

  1. 该查询结果是「修复任务」扫描集,LIMIT 5 却仍聚合全部行——先 GROUP BY … LIMIT 语义不变,但建议加 AND gs.updated_at > ? 增量水位条件,配合索引 idx_comm_type_updated(community_id,type,updated_at) 只扫新增/变更行;
  2. 调度降频(5 分钟 → 30 分钟,结果集变化慢);
  3. 或落地汇总表 golden_source_street_agg(street_id, cnt) 由触发器/定时任务维护,查询改读汇总表。

🟠 P3:tmp_cvd_t1 —— 144 次 × 10.7s = 25.7 min/天

🟡 P4:tmp_cvd_t14 —— 144 次 × 2.3s = 5.6 min/天

🟡 P5:SHOW ENGINE INNODB STATUS(748 条)/ COMMIT(105+84 条)

五、逐条优化建议汇总

优先级对象动作预期收益
P0tmp_cvd_t12 SQL窗口函数改写(ROW_NUMBER PARTITION BY ep_source_id)+ 调度降频至 1h单次 294s→秒级,全天省 ~11h
P1GetGoldenSource 修复查询增量水位条件 + 新增 (community_id,type,updated_at) 索引 + 降频全天省 ~45min
P2tmp_cvd_t1UNION ALL 拆 OR、JSON_TABLE 改写单次 10.7s→1s 级
P2tmp_cvd_t14窗口函数改写 + 补 (ep_build_id,score,source_id) 索引单次 2.3s→亚秒
P3备份任务错峰备份窗口;facebook_photo 等 longtext 表 --ignore-table 或对象存储化削峰 IO,减少对监控/COMMIT 的挤压
P3监控采集无需改 SQL;随 P0~P2 落地观察SHOW ENGINE INNODB STATUS 耗时回落
注:以上所有索引/DDL 仅为建议,本次未对数据库执行任何写操作。

六、数据来源与生成时间