첫 사고 흐름은 (status, date) 인덱스로 타게 유도를 해야함

delete from date < 2024-12-12

여기에

delete from date < 2024-12-12 and status in (a,b,c...)

로 하면 간단히 해결되지만

status가 늘어나면 in에 케이스 하나씩 더 넣어줘야해서

매번 배치쪽 소스를 수정해줘야하므로 관리 포인트가 늘어남

따라서 하드코딩하지말고 동적으로 가져오라는 의미이고

select distinct status from orders;

인덱스 스킵스캔으로 0.00초만에 가져옴

for문으로 delete from status = ? and date < ~~ 반복하거나

delete from date < 2024-12-12 and status in (distinct로 가져온 목록)

위 방법으로 배치 자체 실행시간도 극적으로 단축, 락 영역도 단축

감사합니다.