fix: 修复商务汇总任务超时并验证计划启用
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user