성능 개선 도우미 대시보드를 사용한 Oracle 실행 계획 분석 - Amazon Relational Database Service

성능 개선 도우미 대시보드를 사용한 Oracle 실행 계획 분석

Oracle Database에서 DB 로드를 분석할 때 DB 로드에 가장 많이 기여하는 계획을 알고 싶을 수 있습니다. 성능 개선 도우미의 계획 캡처 특성을 사용하여 DB 로드에 가장 많이 기여하는 계획을 확인할 수 있습니다.

콘솔을 사용하여 Oracle 실행 계획 분석
  1. https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 성능 개선 도우미을 선택합니다.

  3. Oracle DB 인스턴스를 선택합니다. 선택한 DB 인스턴스에 대한 성능 개선 도우미 대시보드가 표시됩니다.

  4. 데이터베이스 로드(DB 로드)(Database load (DB load)) 섹션에서 분할 기준(Slice by) 옆에 있는 계획(Plans)을 선택합니다.

    평균 활성 세션 차트는 상위 SQL 문이 사용하는 계획을 보여줍니다. 계획 해시 값은 색상으로 구분된 사각형의 오른쪽에 나타납니다. 각 해시 값은 계획을 고유하게 식별합니다.

    계획을 기준으로 분할
  5. 상위 SQL(Top SQL) 탭까지 아래로 스크롤합니다.

    다음 예에서 상위 SQL 다이제스트에는 2개의 계획이 있습니다. 문장의 물음표를 보면 다이제스트임을 알 수 있습니다.

    다이제스트 계획 선택
  6. 다이제스트를 선택하여 구성 요소 문으로 확장합니다.

    다음 예에서 SELECT 문은 다이제스트 쿼리입니다. 다이제스트의 구성 요소 쿼리는 2개의 다른 계획을 사용합니다. 계획의 색상은 데이터베이스 로드 차트에 해당합니다. 다이제스트의 총 계획 수는 두 번째 열에 표시됩니다.

    다이제스트 계획 선택
  7. 아래로 스크롤하여 다이제스트 쿼리 계획(Plans for digest query) 목록에서 비교할 2개의 계획(Plans)을 선택합니다.

    쿼리에 대해 한 번에 하나 또는 2개의 계획을 볼 수 있습니다. 다음 스크린샷에서는 해시 2032253151 및 해시 1117438016과 함께 다이제스트의 두 계획을 비교합니다. 다음 예에서 이 다이제스트 쿼리를 실행하는 평균 활성 세션의 62%는 왼쪽 계획을 사용하고 있는 반면 38%는 오른쪽 계획을 사용하고 있습니다.

    나란히 계획 비교

    이 예에서는 계획이 중요한 방식으로 다릅니다. 계획 2032253151의 2단계는 인덱스 스캔을 사용하는 반면 계획 1117438016은 전체 테이블 스캔을 사용합니다. 행 수가 많은 테이블의 경우 인덱스 스캔을 사용하면 단일 행의 쿼리가 거의 항상 더 빠릅니다.

    나란히 계획 비교
  8. (선택 사항) 복사(Copy)를 선택하여 클립보드에 계획을 복사하거나 다운로드(Download)를 선택하여 하드 드라이브에 계획을 저장합니다.