이 페이지에서는 PostgreSQL용 AlloyDB 열 기반 엔진과 관련된 일반적인 문제 및 질문에 대한 권장 수정사항과 정보를 제공합니다.
참조된 열을 열 기반 엔진에 추가했지만 SELECT 쿼리에서 사용하지 않음
설명: 열 기반 엔진을 사용하려면 조인, 스캔 등 쿼리 프래그먼트에서 참조되는 모든 열이 열 저장소에 있어야 합니다. 참조된 열이 열 기반 엔진에 없으면 쿼리 프래그먼트가 기본적으로 행 기반 저장소로 설정됩니다.
이 컨텍스트에서 쿼리 프래그먼트는 스캔 노드가 여러 개 있을 수 있는 쿼리입니다. 예를 들어 쿼리 프래그먼트에는 조인을 위한 두 개의 스캔 노드가 있을 수 있습니다. 한 스캔 노드는 비열 형식을 사용하고 다른 스캔 노드는 열 형식을 사용할 수 있습니다. 스캔 노드의 모든 열(필터 열 및 프로젝션 열)은 열 형식으로 채워져야 합니다. 마찬가지로 쿼리에는 일부 파티션이 열 형식이고 다른 파티션이 비열 형식일 수 있습니다.
권장 수정사항: 참조된 모든 열이 컬럼형 엔진에 있는지 확인하려면 다음 단계를 따르세요.
지원되는 데이터 유형을 확인합니다.
AlloyDB가 열 기반 엔진과 함께 사용할 열의 모든 데이터 유형을 지원하는지 확인합니다. 자세한 내용은 지원되는 데이터 유형을 참고하세요. AlloyDB에서 중요한 데이터 유형을 지원하지 않는 경우 Google Cloud 지원팀에 문의하세요.
지원되는 연산자를 확인합니다.
AlloyDB가 열 기반 엔진의 데이터 유형에 대한 연산자를 지원하는지 확인합니다. 지원되는 연산자에 대한 자세한 내용은 열 기반 엔진의 이점을 활용하는 쿼리 유형을 참고하세요.
EXPLAIN COLUMNAR_ENGINE명령어를 실행합니다.특정 쿼리에서 열 형식 엔진을 사용하지 못하도록 하는 문제를 식별하고 해결하려면 다음
EXPLAIN COLUMNAR_ENGINE명령어를 실행하세요.EXPLAIN (COLUMNAR_ENGINE, ANALYZE) SELECT column1, column2 FROM my_table WHERE column3 > 100;
열 기반 엔진에서 테이블을 추가하거나 삭제할 수 없습니다.
설명: 열 기반 엔진에서 테이블을 추가하거나 삭제하려고 합니다.
권장 해결 방법: 사용자 권한을 확인하세요. 테이블에 대한 읽기 권한이 있는 경우에만 열 기반 엔진에서 테이블을 추가하거나 삭제할 수 있습니다.
열 형식 데이터 크기가 할당된 메모리를 초과함
설명: 열 기반 데이터 크기가 열 기반 엔진에 할당된 메모리를 초과하면 성능 또는 데이터 처리 문제가 발생합니다.
권장 해결 방법: 최적의 성능을 위해 AlloyDB의 추천 기능을 사용하여 열 형식 엔진을 채울 최적의 테이블과 열을 식별하세요.
권장 테이블과 열이 열 형식 엔진의 실제 메모리를 초과하면 초과하는 열 형식 데이터가 초고속 캐시 레이어의 일부를 사용합니다. 열 형식 엔진에 없는 테이블의 나머지 데이터에 대한 쿼리는 행 스토어를 투명하게 사용합니다.
열 기반 엔진 메모리 및 스토리지 캐시 할당을 조정할 수도 있습니다. 열 기반 엔진은 메모리 및 스토리지 캐시의 기본 크기로 프로비저닝됩니다. 메모리 및 스토리지 캐시를 수동으로 구성할 수 있습니다. 열 기반 엔진에 할당된 메모리 또는 스토리지 캐시의 양을 변경하려면 열 기반 엔진의 메모리 구성을 참고하세요.