فهرست منبع

fix(raw/trd): 订单日常 raw 关 splitPk,避开无 update 索引的病态 MIN/MAX 分片

splitPk 的 MIN(id) 走「按 id 正扫 + 过滤 + Limit1」,update_time 无索引时要扫过
几百万老 id 才命中,PG 误估便宜实则很慢(COALESCE/OR 计划相同,与 where 改动无关);
日常窗口小、单通道足够,去掉分片。大范围回填走按 id 切段的独立 ini,不受影响。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
tianyu.chu 1 هفته پیش
والد
کامیت
c210d254cf
1فایلهای تغییر یافته به همراه3 افزوده شده و 1 حذف شده
  1. 3 1
      jobs/raw/trd/raw_trd_card_group_order_info_inc_d.ini

+ 3 - 1
jobs/raw/trd/raw_trd_card_group_order_info_inc_d.ini

@@ -20,7 +20,9 @@ column = id,group_info_id,merchant_id,user_id,shipping_address_id,purchase_count
 columnType =
 where = (create_time >= '${start_date}' AND create_time < '${stop_date}') OR (update_time >= '${start_date}' AND update_time < '${stop_date}')
 querySql =
-splitPk = id
+; splitPk 关闭:MIN/MAX 分片查询在 update_time 无可用索引时,会对 MIN(id) 做病态正向全 id 扫描(PG 误估为便宜、实际很慢)。
+; 日常窗口小、单通道足够,无需分片。大范围回填走按 id 切段的独立 ini(各段 where 是 id 区间,分片正常)。
+splitPk =
 fetchSize = 1000
 
 [writer]