fix: 修复商务汇总任务超时并验证计划启用

This commit is contained in:
Yvan
2026-11-04 15:46:46 +08:00
parent 7764b03906
commit 34535c90c3
9 changed files with 260 additions and 36 deletions
+14 -1
View File
@@ -22,15 +22,28 @@ var businessQueryIndexes = []businessQueryIndex{
{"tab_sw_report_server_day_key", "idx_sw_server_key_game_scan", []string{"game_name", "dedup_mode", "stat_date", "source_db", "game_id", "server_num", "metric", "identity_key"}},
}
var reportBuildQueryIndexes = []businessQueryIndex{
{"tab_user", "idx_sw_user_report_identity", []string{"id", "source_db", "puid", "promote_id", "idcard"}},
{"tab_user_play_info", "idx_sw_play_report_active", []string{"play_time", "user_id", "source_db", "promote_id", "game_id", "server_id"}},
}
// 只为已经接入的业务表增加索引,不创建平台表、不改写记录。
// 按实际筛选前缀排列,并覆盖聚合读取列,避免大范围回表。
func migrateBusinessQueryIndexes(db *gorm.DB) error {
return migrateQueryIndexes(db, businessQueryIndexes)
}
func migrateReportBuildQueryIndexes(db *gorm.DB) error {
return migrateQueryIndexes(db, reportBuildQueryIndexes)
}
func migrateQueryIndexes(db *gorm.DB, indexes []businessQueryIndex) error {
if db.Dialector.Name() != "mysql" {
return nil
}
groups := make(map[string][]businessQueryIndex)
tables := []string{}
for _, index := range businessQueryIndexes {
for _, index := range indexes {
if _, exists := groups[index.table]; !exists {
tables = append(tables, index.table)
}