쿼리 알림 검토 - Amazon Redshift

쿼리 알림 검토

STL_ALERT_EVENT_LOG 시스템 테이블을 사용하여 쿼리의 잠재적 성능 문제를 찾아 교정하려면 다음 단계를 따릅니다.

  1. 다음과 같이 실행하여 쿼리 ID를 확인합니다.

    select query, elapsed, substring from svl_qlog order by query desc limit 5;

    substring 필드에서 잘려있는 쿼리 텍스트를 검사하여 선택할 query 값을 결정합니다. 쿼리를 한 번 넘게 실행한 경우에는 query 값이 더 낮은 행의 elapsed 값을 사용하세요. 이 행이 컴파일 버전의 행입니다. 다수의 쿼리를 실행한 경우 쿼리의 포함 여부를 확인하는 데 사용하는 LIMIT 절에서 사용되는 값을 높일 수도 있습니다.

  2. STL_ALERT_EVENT_LOG에서 쿼리에 사용할 행을 선택합니다.

    Select * from stl_alert_event_log where query = MyQueryID;
  3. 쿼리 결과를 평가합니다. 다음 표를 사용하여 식별된 문제를 해결할 수 있는 솔루션을 찾으세요.

    참고

    모든 쿼리에 STL_ALERT_EVENT_LOG의 행이 있지는 않습니다. 식별된 문제가 있는 쿼리에만 행이 있습니다.

    문제 이벤트 값 솔루션 값 권장 솔루션
    쿼리에서 테이블 통계가 누락되었거나, 최신 상태가 아닙니다. 누락된 쿼리 플래너 통계 ANALYZE 명령 실행 테이블 통계 누락 또는 만료 섹션을 참조하세요.
    쿼리 계획에 중첩 루프 조인(가장 최적화되지 않은 조인)이 있습니다. 쿼리 계획에 중첩 루프 조인이 존재함 조인 조건자를 검토하여 데카르트 곱 회피 중첩 루프 섹션을 참조하세요.
    스캔 작업이 정리가 아닌 삭제된 것으로 표시되었거나, 혹은 커밋되지 않고 삽입된 비교적 다수의 행을 건너뛰었습니다. 삭제된 행을 다수 스캔함 VACUUM 명령을 실행하여 삭제된 공간 회수 고스트 행 또는 커밋되지 않은 행 섹션을 참조하세요.
    100만 개가 넘는 행이 해시 조인 또는 집계를 위해 재분산되었습니다. 다수의 행이 네트워크를 통해 분산됨(예: RowCount 행이 집계 처리를 위해 분산됨) 조인 또는 집계를 공동 배치하기 위한 분산 키의 선택 검토 최적이 아닌 데이터 분산 섹션을 참조하세요.
    100만 개가 넘는 행이 해시 조인을 위해 브로드캐스팅되었습니다. 다수의 행이 네트워크를 통해 브로드캐스팅됨 조인을 공동 배치하기 위한 분산 키의 선택 검토 및 분산된 테이블의 사용 고려 최적이 아닌 데이터 분산 섹션을 참조하세요.
    쿼리 계획에서 DS_DIST_ALL_INNER 재분산 스타일이 지정되면서 내부 테이블 전체가 단일 조각으로 재분산되었기 때문에 직렬 실행을 피할 수 없습니다. 쿼리 계획에 해시 조인을 위한 DS_DIST_ALL_INNER가 지정됨 외부보다는 내부 테이블 분산을 위한 전략 선택 검토 최적이 아닌 데이터 분산 섹션을 참조하세요.