TRUNCATE에 대해 (PostgreSQL)
✅ DELETE
DB를 구축하다가 중복 데이터 문제로 재구축해야 할 일이 있어서 테이블은 남기고, 그 안에 데이터는 전부 비워버리는 용도로 DELETE
를 사용했었습니다. 하지만, 데이터를 삭제하는 것만으로 시간이 꽤 오래 걸렸습니다. 이에 대해서는 DELETE
는 WHERE
을 통해 조건에 해당하는 데이터를 하나씩 지우는 작동 방식이기 때문에 꽤 오래 걸립니다.
그리고, DELETE
는 데이터가 삭제되었다 해도 빈 테이블이 남아있습니다.
그래서 DB 재구축을 하면서 쿼리를 테스트하기 위해 몇 번 날렸었는데 모두 수행 시간이 더 느려졌었습니다.
DELETE FROM MyTable;
✅ TRUNCATE
하지만, TRUNCATE
는 테이블 전체를 모두 DROP 한
후, 다시 TABLE을 CREATE
하는 것이기 때문에 매우 빠릅니다.
또한 다시 생성하기 때문에 빈 테이블이 생기는 걱정을 할 필요도 없습니다.
TRUNCATE TABLE MyTable;
Reference
[ORACLE,SQL] drop vs truncate vs Delete 차이점. 테이블 삭제, 데이터 삭제 명령어 알아보자.
데이터베이스(DB, DBMS) 목차 DROP - 테이블 삭제 테이블을 삭제하는 명령어 입니다. 사용예시) DROP TABLE CUSTOMER 만들어졌던 테이블이 싹 다 삭제됩니다. 존재 자체가 삭제! TRUNCATE - 데이터만 통 삭제 t
jhnyang.tistory.com
https://chiefcoder.tistory.com/58
[Postgresql] DROP vs TRUNCATE vs DELETE 차이점
🚀 들어가며... 금일 포스팅에서는 SQL에서 흔히 쓰는 DROP, TRUNCATE, DELETE의 차이점들을 알아보겠습니다! 📑 내용 차이점을 서술하기에 앞서 각각의 명령어의 특징을 알아보겠습니다. 1) DELETE - WHER
chiefcoder.tistory.com