drop, delete, truncate 차이점 및 개념 이해하기
안녕하세요.
오늘의 포스팅 주제는 DROP, TRUNCATE, DELETE 명령어에 대해 알아보고자 합니다.
그리고 차이점을 알아보도록 하겠습니다.
TRUNCATE 명령어
개념 : 테이블의 데이터를 전부 삭제하고 사용하고 있던 공간을 반납
설명
- 해당 테이블의 데이터가 모두 삭제되지만 테이블 자체가 지워지는 것은 아님
- 해당 테이블에 생성되어 있던 인덱스도 함께 truncate 됨
사용 : TRUNCATE TABLE lee_Table;
DROP 명령
개념 : 테이블 자체를 삭제하는 명령어
설명
- 테이블 자체가 모두 지워지며, 해당 테이블에 생성되어 있던 인덱스도 삭제됨
- 오라클 10g부터는 테이블이 삭제되는 것이 아니라 윈도우의 휴지통 개념처럼 잠시 삭제됨 그리고 테이블 이름이 BIN$..로 변경됨
사용 : DROP TABLE lee_table;
Delete, Truncate, Drop 모두가 삭제하는 명령어 입니다.
이때, 중요한 차이점이 있습니다.
DELETE 후에는 데이터만 지워지고 쓰고 있던 디스크 상의 공간은 그대로 가지고 있습니다.
TRUNCATE 작업은 최초 테이블이 만들어졌던 상태, 즉 데이터가 1건도 없는 상태로 모든데이터 삭제, 칼럼값만 남아 있습니다.
그리고 용량도 줄고 인덱스 등도 모두 삭제 됩니다.
→ DELETE보다 TRUNCATE가 더 좋아 보이나 DELETE는 원하는 데이터만 골라서 삭제가 가능하나 TRUNCATE는 그렇지 못합니다.
DROP 명령어는 데이터와 테이블 전체를 삭제하게 되고
사용하고 있던 공간도 모두 반납하고 인덱스나 제약조건 등 오브젝트로 삭제 됩니다.
포스팅하면서 정리하는 기회가 되서 기분이 좋네요.
모두 좋은하루 보내세요.
'개발 > DB' 카테고리의 다른 글
오라클(oracle) pivot, unpivot 함수 활용 예제 (0) | 2019.11.14 |
---|---|
오라클(oracle) rank(), row_number() 순위함수 사용 예제 (2) | 2019.11.13 |
데이터베이스(DB) 정규화(1차,2차,3차) (0) | 2019.11.10 |
파티션 종류 및 개념 알아보기(Hash Partition, List partition, composite partition) (0) | 2019.11.05 |
[오라클(oracle)] range 파티션(partition) 알아보기 (0) | 2019.10.28 |
[오라클(oracle)] sql merge 기능 설명 및 예제 (2) | 2019.10.22 |
[오라클(oracle)] 파티션 테이블을 개념(테이블 파티셔닝) (0) | 2019.10.21 |