본문 바로가기
Programming/SQL

[Oracle] Delete, Truncate, Drop 비교 + HWM(High Water Mark)

by 고막고막 2019. 12. 24.
DELETE FROM table_name;
TRUNCATE TABLE table_name;
DROP TABLE table_name [CASCADE CONSTRAINT];

 

  DELETE TRUNCATE DROP
데이터 삭제 삭제 삭제
테이블 구조 존재 존재 삭제
저장 공간 존재 해제 해제

 

※ TRUNCAT, DROP 하면 rollback을 할 수 없음.

※ '저장공간이 해제된다'는 것은 HWM(High Water Mark)까지 0번째 블록으로 당기는 것. 저장공간이 존재한다는 것은 HWM을 원래의 위치에 둔다는 것. 따라서 delete를 한 후에 full table scan 하면, 데이터가 없어도 hwm 지점까지 scan을 하기 때문에 시간이 오래 걸린다.

HWM(High Water Mark) : 한 세그먼트에서 데이터가 가장 많이 쌓였을 때 블록의 위치. 테이블 스캔을 하는 구간이 0~HWM까지이다.