perf: optimize worker order query hot paths

This commit is contained in:
yml2213
2026-08-30 15:30:46 +08:00
parent 7b9794665c
commit 79d8f84ac9
3 changed files with 71 additions and 44 deletions
@@ -0,0 +1,9 @@
-- 068_timeout_event_worker_index.sql —— 后台打手超时次数统计。
-- countTimeoutEventsByWorkerIds 按 payload_json->>'workerId' 聚合;
-- 部分表达式索引避免每次后台列表请求扫描全部 work_order_events。
CREATE INDEX IF NOT EXISTS idx_work_order_events_timeout_worker_id
ON work_order_events ((payload_json->>'workerId'))
WHERE event_type LIKE 'timeout_%';
COMMENT ON INDEX idx_work_order_events_timeout_worker_id IS
'支持按打手统计 timeout_* 工单事件,避免 JSON 全表扫描';