시계열 테이블 사용
데이터의 보존 기간이 고정되어 있는 경우에는 데이터를 시계열 테이블의 시퀀스로 구성할 수 있습니다. 이러한 시퀀스에서 각 테이블은 동일하지만 다른 시간 범위의 데이터를 포함합니다.
해당 테이블에서 간단히 DROP TABLE 명령을 실행하여 기존 데이터를 쉽게 제거할 수 있습니다. 이 접근 방식은 대규모로 DELETE 프로세스를 실행하는 것보다 속도가 빠르며 공간 회수를 위해 이후에 VACUUM 프로세스를 실행할 필요기 없습니다. 데이터가 다른 테이블에 저장된다는 사실을 감추기 위해 UNION ALL 뷰를 생성할 수 있습니다. 이전 데이터를 삭제할 때 UNION ALL 뷰를 조정하면 삭제된 테이블이 제거됩니다. 마찬가지로 새로운 기간을 새로운 테이블에 로드할 때도 새로운 테이블을 뷰에 추가합니다. 최적화 프로그램에 쿼리 필터와 일치하지 않는 테이블의 스캔을 건너뛰도록 신호를 보내기 위해 뷰 정의에서 각 테이블에 해당되는 날짜 범위에 대해 필터링합니다.
UNION ALL 뷰에 테이블 수가 너무 많지 않도록 하십시오. 각 추가 테이블은 쿼리에 작은 처리 시간을 추가합니다. 테이블에서 동일한 기간을 사용할 필요가 없습니다. 예를 들어 매일, 매달 및 매년 등 기간이 서로 다른 테이블이 있을 수 있습니다.
타임스탬프 열이 있는 시계열 테이블을 정렬 키에 사용할 경우 데이터를 정렬 키 순서로 효과적으로 로드할 수 있습니다. 그러면 VACUUM을 실행하여 데이터를 다시 정렬할 필요가 없습니다. 자세한 내용은 정렬 키 순서로 데이터 로드 단원을 참조하십시오.