Amazon Redshift에서 쿼리 계획 시간이 왜 이렇게 오래 걸리나요?

1분 분량
0

Amazon Redshift에서의 쿼리 계획 시간이 실행 시간보다 오래 걸리는데 그 이유를 잘 모르겠습니다.

간략한 설명

프로덕션 로드에 배타적 잠금이 있는 쿼리는 잠금 대기 시간을 증가시킬 수 있습니다. 이러한 증가는 Amazon Redshift에서의 쿼리 계획 시간을 실제 실행 시간보다 훨씬 길게 만듭니다. 쿼리 계획 시간이 갑자기 증가했는지 확인하려면 워크로드 실행 분석 지표를 확인하세요. 잠금을 기다리는 트랜잭션으로 인해 시간이 증가했을 가능성이 있습니다.

해결 방법

잠금을 기다리는 트랜잭션을 감지하려면 다음 단계를 완료하세요.

  1. 첫 번째 잠금을 위한 새 세션을 엽니다.

    begin; lock table1;
  2. 병렬로 실행되는 두 번째 세션을 열고 다음 쿼리를 실행합니다.

    select * from table1 limit 1000;

    이 두 번째 세션의 쿼리는 AccessSharedLock 요청을 제출합니다. 첫 번째 세션에서 이미 AccessExclusiveLock을 클레임했으므로, 이 두 번째 쿼리는 잠금에 액세스할 때까지 기다려야 합니다. 그러면 ExclusiveLocktable1의 다른 모든 작업을 차단합니다.

  3. 워크로드 실행 분석 지표를 확인하세요. 쿼리 계획 시간이 갑자기 급증하면 잠금을 기다리는 트랜잭션이 있음을 확정할 수 있습니다.

  4. (선택 사항) 잠금을 기다리는 트랜잭션이 존재하는 경우 세션을 수동으로 종료하여 잠금을 해제하세요.

    select pg_terminate_backend(PID);

잠금 해제에 대한 자세한 내용은 Amazon Redshift에서 잠금을 감지하고 해제하려면 어떻게 해야 하나요?를 참조하세요.

관련 정보

워크로드 성능 분석

쿼리 계획 및 실행 워크플로

AWS 공식
AWS 공식업데이트됨 2달 전