Doby's Lab

TRUNCATE에 대해 (PostgreSQL) 본문

Data Engineering/SQL

TRUNCATE에 대해 (PostgreSQL)

도비(Doby) 2023. 9. 14. 19:09

✅ DELETE

DB를 구축하다가 중복 데이터 문제로 재구축해야 할 일이 있어서 테이블은 남기고, 그 안에 데이터는 전부 비워버리는 용도로 DELETE를 사용했었습니다. 하지만, 데이터를 삭제하는 것만으로 시간이 꽤 오래 걸렸습니다. 이에 대해서는 DELETEWHERE을 통해 조건에 해당하는 데이터를 하나씩 지우는 작동 방식이기 때문에 꽤 오래 걸립니다.

그리고, DELETE는 데이터가 삭제되었다 해도 빈 테이블이 남아있습니다.

 

그래서 DB 재구축을 하면서 쿼리를 테스트하기 위해 몇 번 날렸었는데 모두 수행 시간이 더 느려졌었습니다.

DELETE FROM MyTable;

✅ TRUNCATE

하지만, TRUNCATE는 테이블 전체를 모두 DROP 한 후, 다시 TABLE을 CREATE하는 것이기 때문에 매우 빠릅니다.

또한 다시 생성하기 때문에 빈 테이블이 생기는 걱정을 할 필요도 없습니다.

TRUNCATE TABLE MyTable;

Reference

https://jhnyang.tistory.com/entry/DDL%ED%85%8C%EC%9D%B4%EB%B8%94-%EC%83%9D%EC%84%B1-%EC%99%B8%EB%9E%98%ED%82%A4-rename%EC%9D%B4%EB%A6%84%EB%B3%80%EA%B2%BD-drop-vs-truncate-vs-Deletedml-%ED%85%8C%EC%9D%B4%EB%B8%94%EC%82%AD%EC%A0%9C

 

[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

 

728x90