

# CloudWatch Database Insights에서 실행 계획 분석
<a name="Database-Insights-Execution-Plans"></a>

다음과 같은 방법을 사용하여 Amazon Aurora PostgreSQL, RDS for Microsoft SQL Server 및 RDS for Oracle 데이터베이스의 실행 계획을 분석할 수 있습니다.
+ **슬라이스된 기준** 드롭다운 - **데이터베이스 로드** 차트에서 **계획** 차원을 선택하여 시간이 지남에 따라 여러 계획이 DB 로드에 어떻게 기여하는지 확인합니다.
+ **상위 SQL** 탭 - **DB 로드 분석**을 선택한 다음 **상위 SQL** 탭을 선택하여 각 다이제스트 쿼리의 계획 수를 확인합니다.

  다이제스트 쿼리의 실행 계획을 분석하려면 쿼리를 선택한 다음 **계획** 탭을 선택합니다. 자세한 내용은 다음 절차를 참조하세요.

## 사전 조건
<a name="Database-Insights-Execution-Plans-prereqs"></a>

실행 계획을 분석하려면 Database Insights의 고급 모드를 사용해야 합니다. 고급 모드를 켜는 방법에 대한 내용은 [Amazon Aurora용 Database Insights의 고급 모드 켜기](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DatabaseInsights.TurningOnAdvanced.html)와 [Amazon Relational Database Service용 Database Insights의 고급 모드 켜기](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DatabaseInsights.TurningOnAdvanced.html)를 참조하세요.

Aurora PostgreSQL을 사용 중이라면 다음과 같은 사전 조건도 있습니다.
+ DB 인스턴스에서는 Aurora PostgreSQL 버전 14.10, 15.5 이상이 사용되어야 합니다. Aurora PostgreSQL DB 클러스터 업그레이드에 대한 자세한 내용은 *Amazon Aurora 사용 설명서*의 [Amazon Aurora PostgreSQL DB 클러스터 업그레이드](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.PostgreSQL.html)를 참조하세요.
+ 다음과 같은 옵션 중 하나에서 파라미터 `aurora_compute_plan_id`를 `on`으로 설정하여 실행 계획을 분석하도록 Amazon Aurora PostgreSQL DB 클러스터를 구성해야 합니다.
  + *Amazon Aurora 사용 설명서*의 [Amazon Aurora에서 DB 클러스터 파라미터 그룹 생성](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.CreatingCluster.html)
  + *Amazon Aurora 사용 설명서*의 [Amazon Aurora에서 DB 클러스터 파라미터 그룹의 파라미터 수정](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.ModifyingCluster.html)

## 실행 계획 분석
<a name="Database-Insights-Execution-Plans-analyze"></a>

실행 계획을 분석하려면 다음 절차를 사용합니다.

**실행 계획을 분석하는 방법**

1. AWS Management Console에 로그인하고 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. **인사이트**를 선택합니다.

1. **Database Insights**를 선택합니다.

1. **데이터베이스 인스턴스** 보기를 선택합니다.

1. DB 인스턴스를 선택합니다.

1. **상위 SQL(Top SQL)** 탭을 선택합니다. **계획 수** 열에는 각 다이제스트 쿼리에 대해 수집된 계획 수가 표시됩니다.

1. (선택 사항) **계획 수** 열이 표시되지 않으면 **상위 SQL** 테이블에서 **설정** 아이콘을 선택하여 열의 가시성과 순서를 사용자 지정합니다.  
![\[계획 세부 정보 테이블 설정\]](http://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/images/DBInsights2.png)

1. 다이제스트 쿼리를 선택하여 구성 요소 문으로 확장합니다.  
![\[쿼리를 구성 요소 문으로 확장\]](http://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/images/dbi_did-dbload-expand.png)

1. 아래로 스크롤하여 SQL 텍스트를 보세요. 그런 다음 **계획** 탭을 선택하세요.

   기본적으로 CloudWatch에서는 예상 실행 계획이 표시됩니다. Aurora PostgreSQL의 경우 실제 실행 계획을 보려면 DB 인스턴스에 대한 `aurora_stat_plans.with_analyze` 파라미터를 활성화합니다. 파라미터 `aurora_stat_plans.with_analyze`에 대한 자세한 내용은 *Amazon Aurora 사용 설명서*의 [Aurora PostgreSQL용 쿼리 실행 계획 및 피크 메모리 모니터링](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Monitoring.Query.Plans.html#aurora.with_analyze)을 참조하세요.

1. 동일한 다이제스트 쿼리의 계획을 비교하려면 **다이제스트 쿼리 계획** 목록에서 두 개의 **계획**을 선택하세요.

   쿼리에 대해 한 번에 하나 또는 2개의 계획을 볼 수 있습니다. 다음 예제 스크린샷의 두 가지 계획은 모두 Aurora PostgreSQL용입니다.  
![\[계획 비교\]](http://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/images/dbi_did-plans.png)

1. DBLoad 차트의 **분할 기준** 드롭다운에서 **계획**을 선택하여 시간 경과에 따라 각 계획이 DBLoad에 어떻게 기여하는지 볼 수도 있습니다.  
![\[Database load chart showing active sessions over time with plans contribution highlighted.\]](http://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/images/DBInsights_OverTime.png)