VACUUM 문

VACUUM 문 (VACUUM Statement)

VACUUM 문은 DuckDB에서 기본적인 지원만 하며, 대부분 PostgreSQL 호환성을 위해 제공돼요. 열을 지정해 호출하는 등 일부 변형은, 업데이트로 인해 stale해진 distinct 통계(고유 엔티티 수)를 다시 계산해요.

경고 VACUUM의 동작은 PostgreSQL 시맨틱과 일치하지 않으며, 앞으로 바뀔 가능성이 커요.

출처: 문서

본문

예시 (Examples)

아무 작업도 하지 않음:

VACUUM;

아무 작업도 하지 않음:

VACUUM ANALYZE;

주어진 테이블-열 쌍에 VACUUM을 호출하면 테이블과 열의 통계를 다시 빌드해요:

VACUUM my_table(my_column);
VACUUM ANALYZE my_table(my_column);

다음 작업은 지원되지 않아요:

VACUUM FULL;
Not implemented Error:
Full vacuum option

인덱스가 있는 VACUUM (Vacuum with Indexes)

경고 이 기능은 실험적이에요.

기본적으로 VACUUM은 ART 인덱스가 있는 테이블을 건너뛰어요. vacuum_rebuild_indexes 설정은 인덱스가 있는 테이블에서 인덱스를 나중에 재빌드해 row group을 압축하도록 vacuum을 활성화해요. 이 설정은 행 수 임계값을 지정하며, 임계값을 초과하는 테이블은 건너뛰어요. 0으로 설정하면 비활성화돼요(기본값).

SET vacuum_rebuild_indexes = 1000000;

공간 재확보 (Reclaiming Space)

VACUUM 문은 공간을 재확보하지 않아요. 공간을 재확보하는 방법은 "Reclaiming space" 페이지를 참고해요.

문법 (Syntax)

더 알아보기 (Learn more)