MSSQL 대용량 데이터 삭제

2023. 10. 16. 10:23웹개발

728x90

DELETE 문을 한번에 기간을 정해서 삭제하게 되면 대용량 데이터를 삭제하는데 

퍼포먼스에 문제가 생기고 처리도 지연되니 몇십만 몇백만 건을 삭제할때는 대략 1만건 정도로 삭제를 진행하면 될듯하다.

DECLARE @DELETED_ROWS INT
SET @DELETED_ROWS = 99999999

SET ROWCOUNT 1000

WHILE(@DELETED_ROWS > 0) BEGIN
	DELETE A
    FROM SAMPLE_TABLE A WITH(NOLOCK)
    
    SET @DELETED_ROWS = @ROWCOUNT
END
SET ROWCOUNT 99999999
728x90
반응형