ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SQL) DROP vs TRUNCATE vs DELETE 차이 비교
    🧑‍💻/SQL 2021. 3. 4. 00:55
    반응형

    DROP, TRUNCATE, DELETE는 모두 삭제하는 명령어이지만 차이가 있습니다.
    한눈에 알아보기 쉽게 표로 정리해 보았습니다. 😀

      DROP TRUNCATE DELETE
    종류 DDL DDL (일부 DML 성격) DML
    COMMIT AUTO COMMIT AUTO COMMIT 사용자 COMMIT
    ROLLBACK 불가능 불가능 COMMIT 이전에 가능
    Storage Storage 삭제 (테이블 스키마 삭제) 최초 테이블 생성 시 할당된 Storage만 남기고 삭제 (테이블 스키마 유지) 데이터 모두 DELETE 해도 Storage 삭제X
    수행 시 테이블 정의 자체 삭제 테이블을 최소 생성된 초기 상태로 만듬 데이터만 삭제
    사용 예제 DROP TABLE STUDENT; TRUNCATE TABLE STUDENT; DELETE FROM STUDENT;
    로그 안남김 안남김 남김
    속도 빠름 빠름 느림


    DELETE에 조건(Where)이 없으면 TRUNCATE와 동일하게 모든 데이터가 삭제되고 테이블 스키마만 남는 빈 껍데기 형태가 됩니다.
    그러면 속도가 빠른 TRUNCATE 쓰는게 좋겠네? 라고 생각하기 쉽지만
    DELETE 명령어는 데이터 복구가 가능하고, 로그를 남기므로, 중점을 어디에 두느냐에 따라 다르게 사용될 수 있습니다.

    반응형

    댓글

Designed by Tistory.