본문 바로가기
데이터베이스/PostgreSQL

PostgreSQL TRUNCATE TABLE vs DELETE FROM

by ddss6565 2023. 7. 18.

테이블의 데이터를 정리하는 2가지 방법

  1. TRUNCATE TABLE

해당 테이블 데이터 전체 삭제
일부 데이터만 삭제 불가능
삭제 후 VACUUM 작업 불필요
작업 중 테이블 사용 불가

  1. DELETE FROM

해당 테이블 데이터 삭제
일부 데이터만 삭제 가능
삭제 후 VACUUM 작업 필요
작업 중 테이블 사용 가능

테이블의 모든 데이터를 삭제할 경우
DELETE FROM 과는 다르게 테이블내의 아무것도 계산하지 않고
삭제하므로 테이블의 크기가 클수록 월등히 빠름.
또한 VACUUM FULL ANALYZE 작업이 필요하지 않음.(바로 디스크를 할당해제 함)
단 테이블의 접근이 차단되므로 작업중에 다른 트랜잭션에서 해당 테이블을 사용할 경우
동시성에서 문제가 생기게 됨.

반응형

댓글