DELETE vs TRUNCATE vs DROP

CODEDRAGON Development/Database

반응형

   

   

DELETE vs TRUNCATE vs DROP

모두 삭제하는 명령어이지만 아주 중요한 차이점이 존재합니다.

   

구분

차이점

DELETE

  • DELETE후 데이터만 지워지고 쓰고 있던 디스크상의 공간은 그대로 남아 있습니다.
  • 데이터가 DELETE되어도 디스크 용량은 줄어들지 않습니다.
  • DELETE는 원하는 데이터만 선택해서 삭제가 가능합니다.
  • DELETE명령어로 삭제 후 잘못 삭제한 데이터를 복구할 수 있습니다.

TRUNCATE

  • 최초 테이블이 만들어졌을 때의 상태, 즉 데이터가 한건도 없는 상태로 모든 데이터를 삭제합니다.
  • 컬럼 값만 남아있어 용량도 줄어들고, 인덱스등 모두 삭제 됩니다.
  • TRUNCATE는 모든 데이터를 한꺼번에 전부 삭제합니다.
  • TRUNCATE명령어로 삭제 후 잘못 삭제한 데이터를 복구할 수 없습니다.

DROP

  • 데이터와 테이블 전체를 삭제합니다.
  • 사용하고 있던 저장공간도 모두 반납하고 인덱스나 제약조건등의 객체 정보도 모두 삭제됩니다.
  • DROP명령어로 삭제 후 잘못 삭제한 데이터를 복구할 수 없습니다.

   

   

   

삭제 명령 도식도