동시 실행 쿼리 제한하기

이 항목에서는 웨어하우스 소유자 또는 관리자가 해당 쿼리의 성능을 향상하기 위해 웨어하우스에서 동시에 실행 중인 쿼리 수를 줄일 방법에 대해 설명합니다.

웨어하우스에서 동시에 실행되는 쿼리는 웨어하우스의 리소스를 공유해야 하며, 이는 곧 각 쿼리에 더 적은 리소스가 주어질 수 있다는 의미입니다. MAX_CONCURRENCY_LEVEL 매개 변수를 사용하여 웨어하우스에서 실행되는 동시 쿼리 수를 제한할 수 있습니다. 웨어하우스의 리소스에 대해 경쟁하는 쿼리가 더 적으므로 쿼리에 더 많은 리소스가 주어질 가능성이 있습니다.

동시성 수준을 낮추면 개별 쿼리, 특히 크거나 복잡한 쿼리 또는 다중 문 쿼리의 성능이 향상될 수 있지만, 이러한 조정이 원하는 효과를 내도록 보장하려면 철저히 테스트해야 합니다.

웨어하우스의 MAX_CONCURRENCY_LEVEL을 낮추면 더 많은 쿼리를 큐에 넣는 결과로 이어질 수 있으며, 이는 해당 쿼리의 성능에 영향을 미칩니다. 전용 웨어하우스 사용이나 Query Acceleration Service 사용과 같은 다른 전략으로 나머지 워크로드에 영향을 주지 않고 크거나 복잡한 쿼리의 성능을 높일 수 있습니다.

자세한 내용은 MAX_CONCURRENCY_LEVEL 섹션을 참조하십시오.

참고

STATEMENT_QUEUED_TIMEOUT_IN_SECONDS 매개 변수를 조정하면 쿼리가 기간을 연장하며 오랫동안 큐에 남도록 하는 대신 쿼리를 취소할 수 있습니다.

MAX_CONCURRENCY_LEVEL을 낮추는 방법

기본 최대 동시성 수준은 8입니다. 이 수준을 낮추려면 ALTER WAREHOUSE 명령을 사용하여 더 낮은 숫자를 지정하십시오. 예:

ALTER WAREHOUSE my_wh SET MAX_CONCURRENCY_LEVEL = 4;
Copy