수백만개의 데이터를 DELETE할 때
몇만 건 단위로 DELETE REPEAT하는 프로시저를 이용하거나, 이거랑 비슷하게 DELETE LIMIT을 사용한다는데
이것들도 제각기 문제점이 있는거 아님?
아래와 같은 쿼리는 수백만건이 넘어가는데 어떻게 처리해야되냐
DELETE FROM TEST_TABLE
WHERE USE_DATE < 20240829;
※ USE_DATE 컬럼의 값은 20240829, 20240830.. 형식.
※ USE_DATE에 인덱스 걸려있음.
※ 테이블 아이디는 Increment가 아니라 랜덤 문자열.
락걸고 지우면됨
Batch써야지
쪼개서 처리하는수밖에
소스단에서 detele 쿼리를 페이징하듯이 호출해야되는거야? 그럼 커넥션 풀 관련 문제가 생기지 않나?
USE_DATE 데이터형 뭐임
varchar