✔ 불변 블록
Redshift는 행이 삭제되면 논리적으로 삭제마킹을 하지만
실제로는 디스크에 그대로 남아있다,
- 업데이트의 경우 새 데이터를 새로운 데이터 블록에 덮어씌우고 (삭제마킹)
- 시스템 공간을 더 사용하게 됨 & 쿼리 시 삭제된 데이터 또한 스캔
- 시스템 자원을 더 사용하게 돼 성능에 저하를 일으킬 수 있게 된다
type
- VACUUM SORT ONLY
- 비 정렬 구간을 정렬 , 기존의 정렬 구간과 병합
- 테이블에 정의된 소트키를 기준으로 데이터를 정렬
- VACUUM DELETE ONLY
- 삭제 마킹된 데이터를 정리
- 삭제된 데이터를 스캔하는 작업을 피하기 위해 수동 실행
- VACUUM FULL
- SORT ONLY + DELETE ONLY
- DELETE & INSERT 작업 후 VACUUM FULL 쿼리로 대체
- VACUUM REINDEX
-
- 인터리브 소트키를 사용하면 성능을 크게 향상시킴
- 그러나 시간이 지남에 따라 데이터의 정렬 비율이 떨어지면서 성능 저하 유발
- 정렬 키를 다시 분석해 성능을 복원