Amazon Aurora
Aurora 사용 설명서 (API 버전 2014-10-31)

쿼리 계획 관리를 위한 파라미터 참조

apg_plan_mgmt 확장은 다음 파라미터를 제공합니다.

해당 수준에서 쿼리 계획 파라미터를 설정합니다.

  • 모든 DB 인스턴스에 대해 동일한 설정을 제공하기 위해 클러스터 수준에서 설정합니다. 자세한 내용은 DB 클러스터 파라미터 그룹의 파라미터 수정 단원을 참조하십시오.

  • 설정을 개별 DB 인스턴스로 분리하기 위해 DB 인스턴스 수준에서 설정합니다. 자세한 내용은 DB 파라미터 그룹의 파라미터 수정 단원을 참조하십시오.

  • 해당 세션으로만 값을 분리하려면 psql에서와 같이 특정 클라이언트 세션에서 설정합니다.

클러스터 또는 DB 인스턴스 수준에서 apg_plan_mgmt.max_databasesapg_plan_mgmt.max_plans 파라미터를 설정해야 합니다.

apg_plan_mgmt.capture_plan_baselines

SQL 문에 대한 실행 계획 캡처를 활성화합니다.

SET apg_plan_mgmt.capture_plan_baselines = [off | automatic |manual]

설명
off 계획 캡처를 비활성화합니다. 이 값이 기본값입니다.
automatic 적격성 기준을 충족하는 후속 SQL 문에 대해 계획 캡처를 활성화합니다.
manual 후속 SQL 문에 대해 계획 캡처를 활성화합니다.

apg_plan_mgmt.max_databases

쿼리 계획 관리를 사용할 수 있는 최대 데이터베이스 객체 수를 설정합니다. 데이터베이스 객체는 CREATE DATABASE SQL 문을 사용하여 생성되는 항목입니다.

중요

클러스터 또는 DB 인스턴스 수준에서 apg_plan_mgmt.max_databases를 설정합니다. 새 값을 적용하려면 DB 인스턴스를 다시 시작해야 합니다.

Value 기본값 설명
양의 정수 10 양의 정수 값입니다.

apg_plan_mgmt.max_plans

apg_plan_mgmt.dba_plans 보기에서 캡처할 수 있는 최대 계획 수를 설정합니다.

중요

클러스터 또는 DB 인스턴스 수준에서 apg_plan_mgmt.max_plans를 설정합니다. 새 값을 적용하려면 DB 인스턴스를 다시 시작해야 합니다.

Value 기본값 설명
integer 1000 10보다 크거나 같은 양의 정수 값입니다.

apg_plan_mgmt.pgss_min_calls

계획 캡처에 적합한 최소 pg_stat_statements 호출 수를 설정합니다.

SET apg_plan_mgmt.pgss_min_calls = integer-value;

기본값 설명
양의 정수 2 2보다 크거나 같은 양의 정수 값입니다.

사용 시 주의사항

pg_stat_statements 확장을 설치해야 합니다. 자세한 내용은 PostgreSQL pg_stats_statements 설명서를 참조하십시오.

apg_plan_mgmt.pgss_min_mean_time_ms

계획 캡처에 적합한 pg_stat_statements mean_time의 최소 값입니다.

SET apg_plan_mgmt.pgss_min_mean_time_ms = double-value;

기본값 설명
양수 0.0 0.0보다 크거나 같은 양수 값입니다.

사용 시 주의사항

pg_stat_statements 확장을 설치해야 합니다. 자세한 내용은 PostgreSQL pg_stats_statements 설명서를 참조하십시오.

apg_plan_mgmt.pgss_min_stddev_time_ms

계획 캡처에 적합한 pg_stat_statements stddev_time의 최소 값입니다.

SET apg_plan_mgmt.pgss_min_stddev_time_ms = double-value;

기본값 설명
양수 0.0 0.0보다 크거나 같은 양수 값입니다.

사용 시 주의사항

pg_stat_statements 확장을 설치해야 합니다. 자세한 내용은 PostgreSQL pg_stats_statements 설명서를 참조하십시오.

apg_plan_mgmt.pgss_min_total_time_ms

계획 캡처에 적합한 pg_stat_statements total_time의 최소 값입니다.

SET apg_plan_mgmt.pgss_min_total_time_ms = double-value;

기본값 설명
양수 0.0 0.0보다 크거나 같은 양수 값입니다.

사용 시 주의사항

pg_stat_statements 확장을 설치해야 합니다. 자세한 내용은 PostgreSQL pg_stats_statements 설명서를 참조하십시오.

apg_plan_mgmt.plan_retention_period

계획이 실제로 삭제되기 전에 apg_plan_mgmt.dba_plans 보기에서 유지되는 일수입니다. 현재 날짜가 last_used 날짜 이후에 이 기간이 경과된 날짜인 경우 계획이 삭제됩니다.

SET apg_plan_mgmt.plan_retention_period_ = integer-value;

기본값 설명
양의 정수 32 32보다 크거나 같은 양의 정수 값으로, 일수를 나타냅니다.

apg_plan_mgmt.unapproved_plan_execution_threshold

추정되는 총 계획 비용 임계값으로, 최적화 프로그램은 이 값보다 낮은 미승인 계획을 실행합니다. 기본적으로 최적화 프로그램은 미승인 계획을 실행하지 않습니다. 하지만 가장 빠른 미승인 계획에 대해 실행 임계값을 설정할 수 있습니다. 이 설정을 사용하면 최적화 프로그램이 승인된 계획만을 실행할 때의 오버헤드를 피할 수 있습니다.

SET apg_hint_plan.unapproved_plan_execution_threshold = integer-value;

기본값 설명
양의 정수 0 0보다 크거나 같은 양의 정수 값입니다. 0 값은 use_plan_baselinestrue일 때 미승인 계획이 실행되지 않음을 의미합니다.

다음 예제에서는 use_plan_baselinestrue라도 추정 비용이 550보다 낮은 경우 최적화 프로그램이 미승인 계획을 실행합니다.

SET apg_plan_mgmt.unapproved_plan_execution_threshold = 550;

apg_plan_mgmt.use_plan_baselines

최적화 프로그램에서 관리형 설명문에 대해 관리형 계획을 사용하도록 설정합니다.

SET apg_hint_plan.use_plan_baselines = [true | false];

설명
true

관리형 계획을 사용하도록 설정합니다. SQL 문이 실행되고 이 설명문이 apg_plan_mgmt.dba_plans 보기의 관리형 설명문인 경우 최적화 프로그램은 다음 순서대로 관리형 계획을 선택합니다.

  1. 유효하고 활성화된 최소 비용 기본 계획

  2. 유효하고 활성화된 최소 비용 승인 계획

  3. 유효하고 활성화되었으며 임계값(apg_plan_mgmt.unapproved_plan_execution_threshold 파라미터를 사용하여 설정한 경우)을 충족하는 최소 비용 미승인 계획

  4. 최적화 프로그램에서 생성된 최소 비용 계획

false (기본값) 관리형 계획을 사용하지 않습니다. 최적화 프로그램에서는 생성된 최소 비용 계획을 사용합니다.

사용 시 주의사항

use_plan_baselinestrue이면 최적화 프로그램에서 다음과 같이 실행을 결정합니다.

  1. 최적화 프로그램의 계획에 대한 추정 비용이 unapproved_plan_execution_threshold보다 낮으면 해당 계획을 실행합니다. 그렇지 않을 경우

  2. 계획이 approved 또는 preferred이면 해당 계획을 실행합니다. 그렇지 않을 경우

  3. 가능하면 최소 비용 preferred 계획을 실행합니다. 그렇지 않을 경우

  4. 가능하면 최소 비용 approved 계획을 실행합니다. 그렇지 않을 경우

  5. 최적화 프로그램의 최소 비용 계획을 실행합니다.