QAS = "튀는 쿼리(outlier)"의 무거운 스캔·필터 작업을 공유 컴퓨팅 자원에 떠넘겨(offload) 빠르게 처리하는 서비스
핵심 동사 "offload(오프로드)" 하나만 기억하면 됩니다.
| 글자 | 의미 | 내용 |
|---|---|---|
| 에 | Enterprise | QAS는 Enterprise Edition 이상 ⭐ |
| 온 | ON (활성화) | ENABLE_QUERY_ACCELERATION = TRUE |
| 둘 | 2가지 패턴 | ①큰 스캔+필터 ②대량 insert/copy |
🔑 "스캔이 크고(Large Scan), 둘 중 하나"
📌 공통점: "많이 스캔하는데 결과는 적게 나오는" 쿼리 = 오프로드 효과 큼
비용 상한선(cost control) = 가속에 빌릴 수 있는 자원의 최대 배수
| 상황 | 값 | 암기 |
|---|---|---|
| 명시적으로 TRUE 설정 | 8 | 명8 |
| Gen2·multi-cluster 자동 활성화 | 2 | 자2 |
| 0 설정 | 상한선 제거(무제한) | 영무(無) |
파라미터:
QUERY_ACCELERATION_MAX_SCALE_FACTOR
추가 최대 비용 = (웨어하우스 시간당 크레딧) × (scale factor)
"Gen2 표준 + Multi-cluster = 기본 켜짐"
-- 생성 시
CREATE WAREHOUSE my_wh
WITH ENABLE_QUERY_ACCELERATION = TRUE;
-- 나중에 켜기
ALTER WAREHOUSE my_wh
SET ENABLE_QUERY_ACCELERATION = TRUE
QUERY_ACCELERATION_MAX_SCALE_FACTOR = 0;
암기: "뷰는 목록, 함수는 한 개"
| 도구 | 용도 |
|---|---|
QUERY_ACCELERATION_ELIGIBLE view | 혜택 큰 쿼리/웨어하우스 목록 찾기 (Account Usage) |
SYSTEM$ESTIMATE_QUERY_ACCELERATION 함수 | 특정 쿼리 1개 적격 여부 + scale factor별 예상시간 |
ineligibleReason 출력 (예: NO_LARGE_ENOUGH_SCAN)| 글자 | 이유 |
|---|---|
| 파 | 파티션이 너무 적음 (자원 획득 지연이 이득 상쇄) |
| 필 | 필터가 비선택적 / GROUP BY 카디널리티 과다 |
| 림 | 일부 LIMIT 절 (QAS가 자동 판단) |
| 랜 | 비결정적 함수: RANDOM, SEQ 등 |
QUERY_ACCELERATION_BYTES_SCANNEDQUERY_ACCELERATION_PARTITIONS_SCANNEDQUERY_ACCELERATION_UPPER_LIMIT_SCALE_FACTORQUERY_ACCELERATION_HISTORY (view = Account/Org Usage / 함수 = Information Schema)① 먼저 프루닝 → ② 다음 가속
두 서비스는 함께 사용 가능.