구조와 데이터가 함께 사라집니다.
둘 다 위험한 DDL 계열 작업이지만 결과 상태가 다릅니다. DROP은 객체 자체를 제거하고, TRUNCATE는 객체 구조를 남긴 채 행을 빠르게 삭제합니다.
Oracle, MySQL은 DDL 암묵 커밋을 조심해야 하고, PostgreSQL은 트랜잭션 안에서 TRUNCATE를 롤백할 수 있습니다.
구조와 데이터가 함께 사라집니다.
구조는 남기고 모든 행만 비웁니다.
TRUNCATE는 사용자 ROLLBACK으로 되돌릴 수 없습니다.
DROP TABLE은 recycle bin을 거칠 수 있고,
PURGE는 그 경로를 없앱니다.
TRUNCATE도 DDL처럼 동작하며 암묵 커밋이 개입합니다.
운영에서는 사전 백업과 복구 계획이 중요합니다.
TRUNCATE와 일반 DROP TABLE은 트랜잭션
안에서 롤백할 수 있지만, 잠금과 참조 관계 위험은 그대로 확인해야
합니다.
운영 판단: “빠르게 비우기”가 목적이면 TRUNCATE, “테이블 자체 제거”가 목적이면 DROP입니다. 어느 쪽이든 권한, 참조 관계, 백업, 롤백 경로를 먼저 확인해야 합니다.