밤톨코딩
[SQL] TRUNCATE, DELETE, DROP 차이점 정리 본문
반응형
얼마 전에 처음으로 TRUNCATE를 사용해 보았다. 항상 데이터를 지울 때는 DELETE만 사용해야 하는 줄 알았는데, 무슨 차이가 있어서 TRUNCATE를 사용해야 했는지 차이점을 정리해 본다.
DELETE 문
DELETE FROM [테이블_명] WHERE 조건문;
TRUNCATE 문
TRUNCATE TABLE [테이블_명]
DROP 문
DROP TABLE [테이블_명]
DELETE & TRUNCATE & DROP 차이점
| DELETE | TRUNCATE | DROP | |
| 명령어 종류 | DML | DDL | DDL |
| WHERE 사용 여부 | 가능 | 불가 | 불가 |
| ROLLBACK 가능 여부 | 가능 | 불가 | 불가 |
| 생성된 인덱스 | 보존 | 삭제 | 삭제 |
| 테이블 용량 | 보존 | 삭제 | 삭제 |
| 비고 | 한 행씩 삭제되는 트랜잭션 로그 수행 (느림) |
모든 데이터 삭제 트랜잭션 로그 수행 (빠름) |
데이터는 물론 테이블 자체 삭제 |
이상, 밤톨만큼 공부했다.
반응형
'LANGUAGE > SQL' 카테고리의 다른 글
| [MariaDB] 데이터가 저장되어 있는 위치 찾는 방법은? (0) | 2025.01.15 |
|---|---|
| [SQL] MERGE INTO 사용해서 한번에 데이터를 옮겨보자 (0) | 2022.11.20 |
| [SQL] 데이터베이스 이름 변경 (0) | 2022.11.09 |