COPY를 통한 압축 인코딩 선택
압축 인코딩은 테이블을 생성할 때 지정할 수 있지만 대부분의 경우 자동 압축을 사용하면 최상의 결과를 얻을 수 있습니다.
ENCODE AUTO는 테이블의 기본값입니다. 테이블이 ENCODE AUTO로 설정되어 있는 경우 Amazon Redshift는 테이블의 모든 열에 대한 압축 인코딩을 자동으로 관리합니다. 자세한 내용은 CREATE TABLE 및 ALTER TABLE 단원을 참조하세요.
COPY 명령은 데이터를 분석한 후 로드 작업의 일환으로서 압축 인코딩을 빈 테이블에 자동으로 적용합니다.
자동 압축은 압축 인코딩을 선택할 때 전반적인 성능의 밸런스를 유지합니다. 범위가 제한된 스캔은 정렬 키 열이 동일한 쿼리의 다른 열보다 훨씬 높게 압축된 경우 성능이 떨어질 수 있습니다. 결과적으로 자동 압축은 비교적 덜 효율적인 압축 인코딩을 선택하여 정렬 키 열과 다른 열의 밸런스를 유지합니다.
테이블의 정렬 키가 날짜 또는 타임스탬프이고 테이블에서 큰 varchar 열을 많이 사용한다고 가정합니다. 이 경우 정렬 키 열을 전혀 압축하지 않아서 더 좋은 성능을 얻을 수 있습니다. 테이블에서 ANALYZE COMPRESSION 명령을 실행한 후 인코딩을 사용하여 새로운 테이블을 생성하고, 정렬 키의 압축 인코딩은 배제하면 됩니다.
자동 압축 인코딩은 성능 비용이 있지만, 이는 테이블이 비어 있고 압축 인코딩이 없는 경우에 한합니다. 스테이징 테이블과 같이 자주 생성하는 수명이 짧은 테이블 및 테이블의 경우 자동 압축으로 테이블을 한 번 로드하거나 ANALYZE COMPRESSION 명령을 실행합니다. 그런 다음이 인코딩을 사용하여 새 테이블을 만듭니다. 또한 인코딩을 CREATE TABLE 문에 추가하거나, 혹은 CREATE TABLE LIKE를 사용하여 동일한 인코딩으로 새로운 테이블을 생성할 수 있습니다.
자세한 내용은 자동 압축을 사용하여 테이블 로드 단원을 참조하십시오.