DB/SQL
TRUNCATE VS DELETE VS DROP
창욱씨
2022. 11. 4. 00:25
728x90
TRUNCATE
- 전체 데이터를 한 번에 삭제하는 방식
- 최초 생성되었을 당시의 STORAGE만 남기고 데이터가 담겨있던 STORAGE는 RELEASE됨
- TRUNCATE 명령어를 실행하면 처음 테이블을 CREATE한 상태와 동일
- 자동 COMMIT이 되기 때문에 삭제된 데이터는 복구 불가
DELETE
- WHERE절을 사용하여 테입르에 있는 데이터를 하나하나 석택하여 제거하는 방법
- WHERE절을 사용하지 않고 테이블의 모든 데이터를 삭제하더라도 내부적으로는 한줄 한줄 일일이 제거함
- 처리 속도가 느린 편이고 성능에 좋지 않은 영향을 줄 수 있음
- COMMIT 명령어가 실행되기 전이라면 ROLLBACK 명령어를 통해 삭제된 데이터를 복구할 수 있음
- 데이터를 삭제하더라도 데이터가 담겨있던 STORAGE는 RELEASE 되지 않음
DROP
- 테이블 자체를 완전히 삭제하는 방식 (스키마도 삭제되어 처음부터 없었던 테이블인 것처럼 됨)
- 자동 COMMIT이 되기 때문에 삭제된 데이터는 복구 불가
728x90