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까지이다.
'Programming > SQL' 카테고리의 다른 글
[Oracle] SQL 튜닝 - 실행계획 수립 (Execution Plan) (1) | 2019.12.27 |
---|---|
[Oracle] SELECT문 처리 과정 (0) | 2019.12.27 |
[Oracle] sqlplus 치환변수 single ampersand(&), double ampersand(&&), / (0) | 2019.12.24 |
[Oracle] view, inlineview 구조 상의 차이점 (0) | 2019.12.24 |
[Oracle] 쿼리로 코드를 줄여보자! GROUP BY 함수 with ROLLUP, CUBE 연산자 (0) | 2019.12.24 |