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

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

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

콘솔을 사용하여 SQL Server 실행 계획을 분석하려면 다음과 같이 하세요.
  1. https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

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

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

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

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

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

    다음 예제의 경우, 상위 SQL 다이제스트에는 3개의 계획이 있습니다. SQL 문에 물음표가 있으면 해당 문이 다이제스트라는 의미입니다. 전체 SQL 문을 보려면 SQL 문 열에서 값을 선택합니다.

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

    다음 예에서 SELECT 문은 다이제스트 쿼리입니다. 다이제스트의 구성 요소 쿼리는 3개의 다른 실행 계획을 사용합니다. 계획에 할당된 색상은 데이터베이스 로드 차트에 해당합니다.

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

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

    나란히 계획 비교

    이 예제에서 계획은 방식에서 중요한 차이가 있습니다. 왼쪽 계획의 2단계는 테이블 스캔을 사용하는 반면 오른쪽 계획은 클러스터형 인덱스 스캔을 사용합니다. 행 수가 많은 테이블의 경우 클러스터형 인덱스 스캔을 사용하면 단일 행의 쿼리 검색이 거의 항상 더 빠릅니다.

  8. (선택 사항) 계획 세부 정보 테이블에서 설정 아이콘을 선택하여 열의 표시 여부 및 순서를 사용자 정의합니다. 다음 스크린샷은 결과 목록 열이 두 번째 열로 있는 계획 세부 정보 테이블을 보여줍니다.

    계획 세부 정보 테이블에서 열의 가시성과 순서를 사용자 정의합니다.
  9. (선택 사항) 복사(Copy)를 선택하여 클립보드에 계획을 복사하거나 다운로드(Download)를 선택하여 하드 드라이브에 계획을 저장합니다.

참고

성능 개선 도우미는 계층적 트리 테이블을 사용하여 예상 실행 계획을 표시합니다. 테이블에는 각 문의 부분 실행 정보가 포함되어 있습니다. 계획 세부 정보 테이블의 열에 대한 자세한 내용은 SQL Server 설명서의 SET SHOWPLAN_ALL을 참조하시기 바랍니다. 예상 실행 계획의 전체 실행 정보를 표시하려면 다운로드를 선택하여 계획을 다운로드한 다음 SQL Server Management Studio에 계획을 업로드합니다. SQL Server Management Studio를 사용하여 예상 실행 계획을 표시하는 방법에 대한 자세한 내용은 SQL Server 설명서의 예상 실행 계획 표시를 참조하시기 바랍니다.