refactor: 배포 환경에서 slow-query의 원인이 된 NOT EXIST -> LEFT JOIN 수정

This commit is contained in:
이상진 2025-10-11 12:07:04 +09:00
parent 82f3e56770
commit aa3267c5a8

View File

@ -134,14 +134,14 @@ interface ScheduleRepository : JpaRepository<ScheduleEntity, Long> {
s.id
FROM
schedule s
LEFT JOIN
reservation r
ON
r.schedule_id = s.id AND r.status IN ('PENDING', 'PAYMENT_IN_PROGRESS')
WHERE
s.status = 'HOLD'
AND s.hold_expired_at <= :now
AND NOT EXISTS (
SELECT 1
FROM reservation r
WHERE r.schedule_id = s.id AND (r.status = 'PENDING' OR r.status = 'PAYMENT_IN_PROGRESS')
)
AND r.id IS NULL
FOR UPDATE SKIP LOCKED
""", nativeQuery = true
)