Revert "优化查询速度"

This reverts commit 4298eb9f2f030b29fbf2b931cadbea9df9f5fb3b.
This commit is contained in:
cjy 2026-02-13 10:04:26 +08:00
parent e82cfd8861
commit f0baf86685

View File

@ -183,15 +183,12 @@ balance_sum AS (
cw_agg AS ( cw_agg AS (
SELECT SELECT
aw.user_id, aw.user_id,
COUNT(CASE WHEN cw.work_category = 2 THEN 1 END) AS uploaded_video_count, COUNT(CASE WHEN cw.work_category = 2 AND cw.deleted_at = 0 AND (cw.origin_uuid = '' OR cw.origin_uuid IS NULL) AND cw.submit_time BETWEEN aw.start_at AND aw.expired_at THEN 1 END) AS uploaded_video_count,
COUNT(CASE WHEN cw.work_category = 1 THEN 1 END) AS uploaded_post_count, COUNT(CASE WHEN cw.work_category = 1 AND cw.deleted_at = 0 AND (cw.origin_uuid = '' OR cw.origin_uuid IS NULL) AND cw.submit_time BETWEEN aw.start_at AND aw.expired_at THEN 1 END) AS uploaded_post_count,
COUNT(CASE WHEN cw.work_category = 2 AND cw.cost = 1 THEN 1 END) AS released_video_consumed, COUNT(CASE WHEN cw.work_category = 2 AND cw.cost = 1 AND cw.deleted_at = 0 AND (cw.origin_uuid = '' OR cw.origin_uuid IS NULL) AND cw.submit_time BETWEEN aw.start_at AND aw.expired_at THEN 1 END) AS released_video_consumed,
COUNT(CASE WHEN cw.work_category = 1 AND cw.cost = 1 THEN 1 END) AS released_post_consumed COUNT(CASE WHEN cw.work_category = 1 AND cw.cost = 1 AND cw.deleted_at = 0 AND (cw.origin_uuid = '' OR cw.origin_uuid IS NULL) AND cw.submit_time BETWEEN aw.start_at AND aw.expired_at THEN 1 END) AS released_post_consumed
FROM active_windows aw FROM active_windows aw
LEFT JOIN cast_work cw ON cw.artist_phone COLLATE utf8mb4_general_ci = aw.phone COLLATE utf8mb4_general_ci LEFT JOIN cast_work cw ON cw.artist_phone COLLATE utf8mb4_general_ci = aw.phone COLLATE utf8mb4_general_ci
AND cw.deleted_at = 0
AND (cw.origin_uuid = '' OR cw.origin_uuid IS NULL)
AND cw.submit_time BETWEEN aw.start_at AND aw.expired_at
GROUP BY aw.user_id GROUP BY aw.user_id
), ),
@ -199,13 +196,10 @@ cw_agg AS (
cwa_agg AS ( cwa_agg AS (
SELECT SELECT
aw.user_id, aw.user_id,
COUNT(CASE WHEN 1 THEN 1 END) AS uploaded_data_count, COUNT(CASE WHEN cwa.deleted_at = 0 AND (cwa.work_analysis_status IS NULL OR cwa.work_analysis_status != 1) AND cwa.submit_time BETWEEN UNIX_TIMESTAMP(aw.start_at) AND UNIX_TIMESTAMP(aw.expired_at) THEN 1 END) AS uploaded_data_count,
COUNT(CASE WHEN cwa.cost = 1 THEN 1 END) AS released_data_consumed COUNT(CASE WHEN cwa.cost = 1 AND cwa.deleted_at = 0 AND (cwa.work_analysis_status IS NULL OR cwa.work_analysis_status != 1) AND cwa.submit_time BETWEEN UNIX_TIMESTAMP(aw.start_at) AND UNIX_TIMESTAMP(aw.expired_at) THEN 1 END) AS released_data_consumed
FROM active_windows aw FROM active_windows aw
LEFT JOIN cast_work_analysis cwa ON cwa.artist_phone COLLATE utf8mb4_general_ci = aw.phone COLLATE utf8mb4_general_ci LEFT JOIN cast_work_analysis cwa ON cwa.artist_phone COLLATE utf8mb4_general_ci = aw.phone COLLATE utf8mb4_general_ci
AND cwa.deleted_at = 0
AND (cwa.work_analysis_status IS NULL OR cwa.work_analysis_status != 1)
AND cwa.submit_time BETWEEN UNIX_TIMESTAMP(aw.start_at) AND UNIX_TIMESTAMP(aw.expired_at)
GROUP BY aw.user_id GROUP BY aw.user_id
), ),
@ -213,12 +207,10 @@ cwa_agg AS (
ccr_agg AS ( ccr_agg AS (
SELECT SELECT
aw.user_id, aw.user_id,
COUNT(CASE WHEN 1 THEN 1 END) AS uploaded_report_count, COUNT(CASE WHEN ccr.deleted_at = 0 AND ccr.submit_time BETWEEN aw.start_at AND aw.expired_at THEN 1 END) AS uploaded_report_count,
COUNT(CASE WHEN ccr.cost = 1 THEN 1 END) AS released_report_consumed COUNT(CASE WHEN ccr.cost = 1 AND ccr.deleted_at = 0 AND ccr.submit_time BETWEEN aw.start_at AND aw.expired_at THEN 1 END) AS released_report_consumed
FROM active_windows aw FROM active_windows aw
LEFT JOIN cast_competitive_report ccr ON ccr.artist_phone COLLATE utf8mb4_general_ci = aw.phone COLLATE utf8mb4_general_ci LEFT JOIN cast_competitive_report ccr ON ccr.artist_phone COLLATE utf8mb4_general_ci = aw.phone COLLATE utf8mb4_general_ci
AND ccr.deleted_at = 0
AND ccr.submit_time BETWEEN aw.start_at AND aw.expired_at
GROUP BY aw.user_id GROUP BY aw.user_id
), ),
@ -239,12 +231,10 @@ cvs_agg AS (
tar_agg AS ( tar_agg AS (
SELECT SELECT
aw.user_id, aw.user_id,
COUNT(CASE WHEN tar.status = 1 THEN 1 END) AS progress_task_count, COUNT(CASE WHEN tar.status = 1 AND tar.deleted_at = 0 AND tar.created_at BETWEEN aw.start_at AND aw.expired_at THEN 1 END) AS progress_task_count,
COUNT(CASE WHEN tar.status = 2 THEN 1 END) AS complete_task_count COUNT(CASE WHEN tar.status = 2 AND tar.deleted_at = 0 AND tar.created_at BETWEEN aw.start_at AND aw.expired_at THEN 1 END) AS complete_task_count
FROM active_windows aw FROM active_windows aw
LEFT JOIN ` + "`" + taskSchema + "`" + `.task_assign_records tar ON tar.sub_num COLLATE utf8mb4_general_ci = aw.customer_num COLLATE utf8mb4_general_ci LEFT JOIN ` + "`" + taskSchema + "`" + `.task_assign_records tar ON tar.sub_num COLLATE utf8mb4_general_ci = aw.customer_num COLLATE utf8mb4_general_ci
AND tar.deleted_at = 0
AND tar.created_at BETWEEN aw.start_at AND aw.expired_at
GROUP BY aw.user_id GROUP BY aw.user_id
), ),
@ -335,11 +325,7 @@ LEFT JOIN assigned_pending_agg apa ON apa.user_id = aw.user_id`
whereClause = " WHERE " + strings.Join(whereParts, " AND ") whereClause = " WHERE " + strings.Join(whereParts, " AND ")
} }
countFromClause := "FROM active_windows aw" countSQL := cte + " SELECT COUNT(DISTINCT aw.customer_num) " + fromClause + whereClause
if req != nil && req.LastTaskAssignee != "" {
countFromClause += "\nLEFT JOIN task_mgmt tm ON tm.user_id = aw.user_id"
}
countSQL := cte + " SELECT COUNT(DISTINCT aw.customer_num) " + countFromClause + whereClause
var total int64 var total int64
if err := app.ModuleClients.BundleDB.Raw(countSQL, args...).Scan(&total).Error; err != nil { if err := app.ModuleClients.BundleDB.Raw(countSQL, args...).Scan(&total).Error; err != nil {
return nil, 0, commonErr.ReturnError(err, "查询总数失败", "查询艺人上传统计总数失败: ") return nil, 0, commonErr.ReturnError(err, "查询总数失败", "查询艺人上传统计总数失败: ")