DB/오라클
[오라클] DROP, DELETE, TRUNCATE 차이
데르벨준
2014. 11. 3. 09:26
반응형
DROP : 테이블의 정의 자체를 완전히 삭제함.
Rollback 불가능.
테이블이 사용했던 Storage를 모두 Release
Delete : 데이터만 삭제.
Commit이전에는 Rollback이 가능함.
데이터를 모두 Delete해도 사용했던 Storage는 Release되지 않음.
Truncate : 테이블을 최초 생성된 초기상태로 만듬.
Rollback 불가능.
테이블이 사용했던 Storage중 최초 테이블 생성시 할당된
Storage만 남기고 Release.
가령 TB_A라는 테이블이 INITIAL EXTENT가 1M, NEXT EXTENT가 1M,
MIN_EXTENTS = 1 이고 데이터가 늘어나 현재 EXTENT가 1500개라면
현재 이 테이블이 보유하고 있는 Storage 1.5GB인데 데이터를 모두 Delete
하면 건수는 0 이지만 Storage는 그대로 1.5GB입니다.
그러나 Truncate를 하면 테이블의 최초 생성상태인 1MB로 Storage가 줄어들게 되지요.
반응형