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

MySQL 慢查询日报 2026-09-10

统计口径:2026-09-10 00:00:00 ~ 23:59:59(Asia/Shanghai),环境 staging。
数据来源:ES 慢日志索引(经 MCP es_slow_logs / es_search,按 @timestamp UTC 换算),MySQL 侧全程只读(connect / describe_schema / explain / disconnect)。
生成时间:2026-09-11 10:0x CST | 采集脚本:.agents/scripts/slow_report_daily.py(补充分析脚本见文末说明)。

一、统计概览

指标值
统计时间范围2026-09-10 00:00 ~ 2026-09-11 00:00 (+08:00),未触发前日回退
Top10 慢查询总耗时约 10,234 s(≈ 2h50m)
高频模式拉取文档数5,115 条(es_search 单页 5,000 + 翻页,未超 2 万上限)
指纹去重后模式数见 JSON slow_report_20260910.json
触发深度分析的非备份模式8 个
数据异常无(pattern 聚合无错误)

总体结论:

  1. Top10 全部是 backup 用户的 mysqldump 全表导出(SELECT /*!40001 SQL_NO_CACHE */ *),无业务 SQL 进单条 Top10,属备份窗口正常行为,不需优化但建议错峰/限速。
  2. 真正值得关注的是高频业务模式:

二、Top10 慢查询明细

#耗时(s)用户实例(server_host → alias)库.表扫描/返回行慢因
12157.3backupLAN_addcn_117 → staging/tw591test.facebook_photo101,727 / 101,727mysqldump 全表导出,大结果集传输
21343.8backupLAN_addcn_84 → staging/8891t8891.t_item_modi_histories5,693,964 / 5,693,964mysqldump 全表导出(570 万行大表)
31206.8backupLAN_addcn_27 → staging/tw8591t8_game.t8_embeddings_cache79,835 / 79,835mysqldump 全表导出(含 JSON 向量宽行)
41075.3backupLAN_addcn_117 → staging/tw591t591_transcription.land_shape_coordinates15,616,508 / 15,616,508mysqldump 全表导出(1,562 万行大表)
5842.0backupLAN_addcn_27 → staging/tw8591game.t8_embeddings_cache55,291 / 55,291mysqldump 全表导出(含 JSON 向量宽行)
6802.4backupLAN_addcn_84 → staging/8891lighthouse.runs7,753 / 7,753mysqldump 全表导出
7789.6backupLAN_addcn_117 → staging/tw591t591_new.fetch_data_item398,940 / 398,940mysqldump 全表导出
8713.5backupLAN_addcn_84 → staging/8891t8891.t_sele_item_infos3,290,762 / 3,290,762mysqldump 全表导出(329 万行大表)
9703.4backupLAN_addcn_117 → staging/tw591t591_estate_data.rental_market_raw48,006 / 48,006mysqldump 全表导出
10600.0backupLAN_addcn_117 → staging/tw591t591_bak.market_price_origin6,243,332 / 6,243,332mysqldump 全表导出(624 万行大表)

Top10 说明:10 条全部 EXPLAIN type=ALL 属预期(无 WHERE 全表读取);rows_examined == rows_sent、无锁等待,均判定为备份大结果集传输,非缺索引问题。test/t591_bak 等备份/测试库进入慢日志,建议评估是否仍需每日全量 dump。

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

拉取 mysql_slow-* 全量 5,115 条,SQL 指纹归一化(字符串/数字/IN 列表 → ?)后聚合。

3.1 按条数 Top5

#条数平均(s)最大(s)累计(s)用户server指纹(截断)备注
110161.512.921533.9backup,jmysql117/37/40/40_3308/81SHOW ENGINE INNODB STATUS;🗄️ backup/监控模式,不深挖
22889.0621.012609.3t591LAN_addcn_117GetGoldenSourceCommunityIDRepairStreets 聚合查询⚠️ 深度分析①
314410.48—1508.4t591LAN_addcn_117CREATE TEMPORARY TABLE tmp_cvd_t1 AS ...同 tmp_cvd 批处理族
4144294.48—42405.6t591LAN_addcn_117CREATE TEMPORARY TABLE tmp_cvd_t12 AS ...🔴 深度分析②
51442.055.22295.0t591LAN_addcn_117CREATE TEMPORARY TABLE tmp_cvd_t14 AS ...⚠️ 深度分析③

3.2 按累计耗时 Top5

#累计(s)条数平均(s)用户server指纹(截断)备注
142405.6144294.48t591LAN_addcn_117CREATE TEMPORARY TABLE tmp_cvd_t12 AS SELECT ... house_ep_source...🔴 深度分析②
214346.875191.29a8591LAN_addcn_27INSERT INTO telescope_entries (...,content,...) VALUES🔴 深度分析④
36900.023300.00a8591LAN_addcn_27SELECT ... dy_aigc_crawler_runs WHERE status IN(...) ORDER BY id LIMIT卡 300s 超时阈值
46300.021300.00a8591LAN_addcn_27INSERT INTO t8_telescope_entries ...卡 300s 超时阈值
56174.626237.48a8591LAN_addcn_27INSERT INTO telescope_entries ...同④

触发深度分析(条数>100 或 累计>30min,非备份)的模式共 8 个,详见下节。

四、深度分析(触发规则的模式)

① GetGoldenSourceCommunityIDRepairStreets(288 次,avg 9.06s,累计 43min)— 慢因:大范围索引扫描(近似缺索引)

SELECT gs.street_id, COUNT(*) ... FROM golden_source gs
JOIN t591_new.market_community_building cb ON cb.id = gs.community_bid
JOIN t591_new.market_community c ON c.id = cb.community_id AND c.deleted_at IS NULL
WHERE gs.community_bid != 0 AND gs.community_id = 0 AND gs.street_id != 0 AND gs.type = 1
GROUP BY gs.street_id ORDER BY gs.street_id LIMIT 5
  1. 修复是一次性数据迁移场景,修完后 community_id=0 行应趋近 0;先确认存量待修复行数,若已不多应排查为何任务空转仍全量扫描;
  2. 加专用窄索引让待修复行直接定位:ALTER TABLE t591_estate_data.golden_source ADD INDEX idx_repair_pending (community_id, type, community_bid, street_id);(或改造任务:先 SELECT community_bid ... WHERE community_id=0 AND type=1 LIMIT 取 ID 列表再聚合);
  3. 降低执行频率或加"无待修复数据即退出"短路条件。

② tmp_cvd_t12 临时表(144 次,avg 294.5s,累计 11.8 小时)— 慢因:缺索引 + 相关子查询,全表扫描🔴 当日最大耗时模式

type=ALL, rows_examined_per_scan=228,162, dependent subquery (NOT EXISTS)
  1. ALTER TABLE t591_new.house_source_ep_build_relate ADD INDEX idx_ep_score_source (ep_build_id, score DESC, source_id);(t14 场景),使子查询从"按 ep_build_id 回表过滤"变为索引范围直接命中;
  2. t14 语义可用窗口函数一步完成(MySQL 8):ROW_NUMBER() OVER (PARTITION BY ep_build_id ORDER BY score DESC, source_id DESC),避免相关子查询;
  3. 评估该批处理频率(10 分钟一轮 × 全量重建临时表),改为增量或事件驱动。

③ tmp_cvd_t14(144 次,avg 2.05s,累计 295s)— 同②根因,索引加上后同步受益。

④ telescope_entries 批量 INSERT(75+26+21 次,累计 ≈ 6.6 小时)— 慢因:锁等待 + 大 payload 写入

  1. Telescope 生产/staging 调低采样:TELESCOPE_ENABLED=false 或 entry 类型白名单 + watchers 收窄;
  2. 检查 telescope:prune 清理任务是否与写入高峰重叠造成锁冲突;
  3. content 大字段写入改 batch + 压缩(Telescope 配置 chunk)。

⑤ duyo 库 300s 精确超时组(锁等待确认,非缺索引)

以下模式全部精确等于 300.00s,且 EXPLAIN 证明 WHERE 条件均走索引,判定为 innodb_lock_wait_timeout=300 锁等待超时,指向长事务持锁而非索引问题:

模式条数累计(s)EXPLAIN(代表性条件)索引
UPDATE dy_aigc_news_raw_text_jobs SET status='failed' ... WHERE status='fetching' AND lease_until<... AND attempt_count>=max_attempts164800ref, key=idx_raw_text_claim, rows=1idx_raw_text_claim(status,available_at,id)、idx_raw_text_lease(status,lease_until)
UPDATE dy_login_sessions ... WHERE session_id=?61800uk_session_id 唯一键命中uk_session_id(session_id)
UPDATE dy_user_logins ... WHERE user_id=?123600const, key=user_id, rows=1user_id
UPDATE dy_notification_tasks SET locked_by=... WHERE status IN(1,2,3) ... ORDER BY next_execute_at LIMIT 10072100range, key=idx_status_execute, rows=3idx_status_execute(status,next_execute_at,locked_until)
SELECT * FROM dy_aigc_crawler_runs WHERE status IN(...) ORDER BY id ASC LIMIT236900—同族任务队列
  1. 在 tw8591 排查 01:00 时段长事务:SELECT * FROM information_schema.innodb_trx WHERE trx_started < NOW() - INTERVAL 60 SECOND;(人工操作,本报告只读未执行);
  2. 任务队列 UPDATE 改为原子抢占避免多 worker 扫同一批:... WHERE status IN (...) AND (locked_until IS NULL OR locked_until<=...) LIMIT 100 FOR UPDATE SKIP LOCKED(MySQL 8.0.21+);
  3. lease 回收(① 中 aigc_news_raw_text_jobs 的 UPDATE)加 idx_raw_text_lease 更贴合的过滤顺序已存在,问题不在索引;考虑把 lease 回收频率调低、或事务拆小。

⑥ # administrator command: Prepare;(33 次,avg 102s,累计 56min)

未触发深度分析

五、逐条优化建议汇总

优先级对象动作
P0t591_new.house_source_ep_build_relate加索引 (ep_build_id, score, source_id);tmp_cvd 批处理改窗口函数 / 增量。预计消除当日 11.8h 累计慢耗时的主因
P0tw8591 duyo 任务队列(01:00 时段)排查长事务;队列抢占改 FOR UPDATE SKIP LOCKED;levée 回收降频
P1Laravel Telescope(a8591)调低采样/prune 错峰;消除 6.6h 累计 INSERT 慢
P1t591_estate_data.golden_source 修复任务加窄索引或先查待修复行数短路;任务降频
P2mysqldump 备份策略--single-transaction --where 拆分大表 / 限速 --max-allowed-packet+throttle;test、t591_bak 等备份/测试库评估停止每日全量 dump

六、数据来源与生成时间