본문 바로가기

배우기/기록의 중요성

[SQL, Oracle] 이해한대로 써보는 delete와 truncate의 차이(High Water Mark, HWM)

728x90
반응형

객체(object)란 create로 만들 수 있는 대상이다. 예를 들어 table, 제약조건 등 처럼 만들고 지우고 변경이 가능한 실체가 있는 모든 대상이다. 

 

데이터가 insert 되는대로 DB에 저장되는데 데이터 마지막 지점이 찍히는 것을 high water mark라고 한다. 다음 insert 속도를 빠르게 하기 위하여, 어디까지 write 했는지 hwm으로 찍어뒀으니 그 이후부터 기록하여라 등의 표시라고 생각하면 된다.

 

여기서 delete를 하게 되면 hwm가 땡겨지지 않는다. 즉 빈 공간이 반환되지 않는다. 그래서 디스크 사이즈가 그대로 유지된다.

 

그런데 truncate하면 hwm이 땡겨지게 된다. 

 

즉, delete와 truncate는 용량차이가 나기 때문에 차이가 나는 작업이 되겠다.

728x90
반응형