TRUNCATE VS DELETE VS DROP

2022. 11. 4. 00:25DB/SQL

TRUNCATE

  • 전체 데이터를 한 번에 삭제하는 방식
  • 최초 생성되었을 당시의 STORAGE만 남기고 데이터가 담겨있던 STORAGE는 RELEASE됨
  • TRUNCATE 명령어를 실행하면 처음 테이블을 CREATE한 상태와 동일
  • 자동 COMMIT이 되기 때문에 삭제된 데이터는 복구 불가

DELETE

  • WHERE절을 사용하여 테입르에 있는 데이터를 하나하나 석택하여 제거하는 방법
  • WHERE절을 사용하지 않고 테이블의 모든 데이터를 삭제하더라도 내부적으로는 한줄 한줄 일일이 제거함
  • 처리 속도가 느린 편이고 성능에 좋지 않은 영향을 줄 수 있음
  • COMMIT 명령어가 실행되기 전이라면 ROLLBACK 명령어를 통해 삭제된 데이터를 복구할 수 있음
  • 데이터를 삭제하더라도 데이터가 담겨있던 STORAGE는 RELEASE 되지 않음

DROP

  • 테이블 자체를 완전히 삭제하는 방식 (스키마도 삭제되어 처음부터 없었던 테이블인 것처럼 됨)
  • 자동 COMMIT이 되기 때문에 삭제된 데이터는 복구 불가
728x90

'DB > SQL' 카테고리의 다른 글

Join 연산  (0) 2020.03.30