쿼리 성능 최적화

다음과 같은 방법으로 Snowflake 쿼리 성능을 최적화할 수 있습니다.

  • 검색 최적화 서비스

  • 쿼리 가속

  • 1개 이상의 구체화된 뷰 만들기(클러스터형 또는 비클러스터형)

  • 테이블 클러스터링

다음 테이블에 표시된 것처럼, 이러한 각 최적화 방법에는 서로 다른 이점이 있습니다.

특징

지원되는 쿼리 유형

참고

검색 최적화 서비스

검색 최적화 서비스는 지원되는 데이터 타입 에 대해 이러한 유형의 검색 성능을 개선할 수 있습니다.

Query Acceleration Service

필터 또는 집계가 있는 쿼리. LIMIT가 포함된 쿼리에는 ORDER BY도 포함되어야 합니다.
필터는 선택성이 뛰어나야 하며 ORDER BY 절은 카디널리티가 낮아야 합니다.

쿼리 가속은 임시 분석, 예측할 수 없는 데이터 볼륨이 있는 쿼리,
대규모 검사와 선택적 필터를 사용한 쿼리에서 잘 작동합니다.

쿼리 가속과 검색 최적화는 상호 보완적입니다. 둘 다 같은 쿼리를 가속화할 수 있습니다. 쿼리 가속과의 호환성 섹션을 참조하십시오.

Materialized views

  • 같음 검색.

  • 범위 검색.

  • 정렬 작업.

또한 구체화된 뷰를 사용하여 동일한 원본 테이블(또는 해당 테이블의 하위 세트)에서 서로 다른 클러스터링 키를 정의하거나 평면화된 JSON 또는 VARIANT 데이터를 저장하여 한 번만 평면화하면 되도록 할 수 있습니다.

구체화된 뷰는 그 내부에 포함된 행 및 열로 구성된 하위 세트에 대해서만 성능을 개선할 수 있습니다.

테이블 클러스터링

  • 같음 검색.

  • 범위 검색.

테이블은 1개 이상의 열 또는 식이 포함될 수 있는 단일 키에만 클러스터링될 수 있습니다.

다음 테이블은 이러한 최적화에서의 저장소 또는 컴퓨팅 요금의 발생 여부를 보여줍니다.

최적화

저장소 비용

컴퓨팅 비용

검색 최적화 서비스

Query Acceleration Service

구체화된 뷰

테이블 클러스터링

[1]

쿼리 가속과의 호환성

검색 최적화와 쿼리 가속 은 함께 작동하여 쿼리 성능을 최적화할 수 있습니다. 먼저, 검색 최적화는 쿼리에 필요하지 않은 :ref:`마이크로 파티션<label-what_are_micropartitions>`을 정리할 수 있습니다. 그런 다음, :ref:`적합한 쿼리<label-identifying_queries_warehouses_for_qas>`의 경우 쿼리 가속화는 나머지 작업 중 일부를 서비스에서 제공하는 공유 컴퓨팅 리소스로 오프로드할 수 있습니다.

두 서비스로 모두 가속화되는 쿼리의 성능은 워크로드와 사용 가능한 리소스에 따라 다릅니다.