From a1114fbbf5896e1dd2ed2d51d018b81547e4a23b Mon Sep 17 00:00:00 2001 From: hy001 Date: Fri, 10 Jul 2026 16:12:16 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=AD=98=E6=A1=A3=20game=5Flucky=5Fgif?= =?UTF-8?q?t=5Fcount=20=E6=97=B6=E9=97=B4=E7=AA=97=E5=8F=A3=E7=B4=A2?= =?UTF-8?q?=E5=BC=95=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit dashboard-cdc-worker 的 24h 窗口查询缺 create_time 可用索引, 每 5 分钟 examined ~18 万行;(sys_origin, create_time) 索引 已于 2026-07-10 在生产在线应用。 Co-Authored-By: Claude Fable 5 --- .../057_game_lucky_gift_count_ctime_index.sql | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 migrations/057_game_lucky_gift_count_ctime_index.sql diff --git a/migrations/057_game_lucky_gift_count_ctime_index.sql b/migrations/057_game_lucky_gift_count_ctime_index.sql new file mode 100644 index 0000000..63e0ba2 --- /dev/null +++ b/migrations/057_game_lucky_gift_count_ctime_index.sql @@ -0,0 +1,20 @@ +-- dashboard-cdc-worker 每 5 分钟按 create_time 24 小时窗口回读 game_lucky_gift_count(1400 万行), +-- 原有索引均以 sys_origin,user_id 开头,无法按时间窗口定位,只能从 user_base_info 反向驱动全量探测 +-- (单次 examined ~18 万行,是线上 MySQL CPU 波动来源之一)。 +-- 本索引已于 2026-07-10 通过 ALGORITHM=INPLACE, LOCK=NONE 在生产手工应用(耗时 19s),此文件用于存档与新环境初始化。 + +SET @current_schema := DATABASE(); + +SET @add_game_lucky_gift_count_sorigin_ctime_sql := IF( + NOT EXISTS ( + SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS + WHERE table_schema = @current_schema + AND table_name = 'game_lucky_gift_count' + AND index_name = 'idx_game_lucky_gift_count_sorigin_ctime' + ), + 'ALTER TABLE `game_lucky_gift_count` ADD INDEX `idx_game_lucky_gift_count_sorigin_ctime` (`sys_origin`, `create_time`), ALGORITHM=INPLACE, LOCK=NONE', + 'SELECT 1' +); +PREPARE add_game_lucky_gift_count_sorigin_ctime_stmt FROM @add_game_lucky_gift_count_sorigin_ctime_sql; +EXECUTE add_game_lucky_gift_count_sorigin_ctime_stmt; +DEALLOCATE PREPARE add_game_lucky_gift_count_sorigin_ctime_stmt;