Skip to content

Commit c8bc8d2

Browse files
committed
CLAP-425 Refactor: task 테이블을 한 번만 스캔하여 조회하도록 수정
1 parent 0b342a3 commit c8bc8d2

File tree

2 files changed

+29
-24
lines changed

2 files changed

+29
-24
lines changed
Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
1+
START TRANSACTION;
2+
13
UPDATE member m
4+
LEFT JOIN (
5+
SELECT processor_id,
6+
SUM(CASE WHEN task_status = 'IN_PROGRESS' THEN 1 ELSE 0 END) AS in_progress_count,
7+
SUM(CASE WHEN task_status = 'IN_REVIEWING' THEN 1 ELSE 0 END) AS in_reviewing_count
8+
FROM task
9+
GROUP BY processor_id
10+
) t ON m.member_id = t.processor_id
211
SET
3-
in_progress_task_count = COALESCE((
4-
SELECT COUNT(*)
5-
FROM task t
6-
WHERE t.processor_id = m.member_id
7-
AND t.task_status = 'IN_PROGRESS'
8-
),0),
9-
in_reviewing_task_count = COALESCE((
10-
SELECT COUNT(*)
11-
FROM task t
12-
WHERE t.processor_id = m.member_id
13-
AND t.task_status = 'IN_REVIEWING'
14-
),0)
12+
m.in_progress_task_count = COALESCE(t.in_progress_count, 0),
13+
m.in_reviewing_task_count = COALESCE(t.in_reviewing_count, 0)
14+
WHERE m.status != 'DELETED';
15+
16+
COMMIT;
17+
Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1+
START TRANSACTION;
2+
13
UPDATE member m
4+
LEFT JOIN (
5+
SELECT processor_id,
6+
SUM(CASE WHEN task_status = 'IN_PROGRESS' THEN 1 ELSE 0 END) AS in_progress_count,
7+
SUM(CASE WHEN task_status = 'IN_REVIEWING' THEN 1 ELSE 0 END) AS in_reviewing_count
8+
FROM task
9+
GROUP BY processor_id
10+
) t ON m.member_id = t.processor_id
211
SET
3-
in_progress_task_count = COALESCE((
4-
SELECT COUNT(*)
5-
FROM task t
6-
WHERE t.processor_id = m.member_id
7-
AND t.task_status = 'IN_PROGRESS'
8-
),0),
9-
in_reviewing_task_count = COALESCE((
10-
SELECT COUNT(*)
11-
FROM task t
12-
WHERE t.processor_id = m.member_id
13-
AND t.task_status = 'IN_REVIEWING'
14-
),0)
12+
m.in_progress_task_count = COALESCE(t.in_progress_count, 0),
13+
m.in_reviewing_task_count = COALESCE(t.in_reviewing_count, 0)
14+
WHERE m.status != 'DELETED';
15+
16+
COMMIT;

0 commit comments

Comments
 (0)