[SQL] DELETE, TRUNCATE, DROP의 차이점
SQL에서 삭제와 관련된 명령어로는 DELETE, TRUNCATE, DROP이 있다. 각각의 차이점에 대해서 알아보자. DELETE (DML 명령어) DELETE 후에는 데이터만 삭제되고 사용하고 있던 디스크 상의 공간과 인덱스가 그대로 존재한다. 즉, AUTO_INCREMENT로 지정해서 값을 증가시키는 컬럼이 초기화되지 않는다는 말이다. 그리고 원하는 데이터만 WHERE을 통해서 삭제가 가능하다. 삭제된 각 행에 대한 트랜잭션 로그가 남기 때문에 TRUNCATE보다 속도가 느리며 COMMIT 이전에 ROLLBACK이 가능하다. TRUNCATE(DDL 명령어) TRUNCATE 후에는 데이터가 1개도 없는 최초에 테이블 만들어졌던 상태로 컬럼 명만 존재하는 상태이다. 즉, 저장 공간 및 인덱스도 전부 삭..