Referencia de la vista apg_plan_mgmt.dba_plans para la edición compatible con Aurora PostgreSQL - Amazon Aurora

Referencia de la vista apg_plan_mgmt.dba_plans para la edición compatible con Aurora PostgreSQL

Las columnas de la información del plan en la vista apg_plan_mgmt.dba_plans incluyen lo siguiente.

Columna dba_plans Descripción
cardinality_error

Medición del error entre la cardinalidad estimada contra la cardinalidad real. La cardinalidad es el número de filas de la tabla que procesará el plan. Si el error de cardinalidad es grande, aumenta la probabilidad de que el plan no resulte óptimo. Esta columna se rellena mediante la función apg_plan_mgmt.evolve_plan_baselines.

compatibility_level

El nivel de características del optimizador de Aurora PostgreSQL.

created_by El usuario autenticado (session_user) que ha creado el plan.
enabled

Un indicador de si el plan está habilitado o deshabilitado. Todos los planes están habilitados de forma predeterminada. Puede deshabilitar los planes para evitar que el optimizador los use. Para modificar este valor, use la función apg_plan_mgmt.set_plan_enabled.

environment_variables

Los parámetros y valores Grand Unified Configuration (GUC) de PostgreSQL que ha anulado el optimizador en el momento de capturar el plan.

estimated_startup_cost El costo de configuración del optimizador estimado antes de que entregue las filas de una tabla.
estimated_total_cost El costo de configuración del optimizador estimado para entregar la última fila de una tabla.
execution_time_benefit_ms El beneficio en tiempo de ejecución, en milisegundos, de habilitar el plan. Esta columna se rellena mediante la función apg_plan_mgmt.evolve_plan_baselines.
execution_time_ms El tiempo estimado, en milisegundos, que se ejecutaría el plan. Esta columna se rellena mediante la función apg_plan_mgmt.evolve_plan_baselines.
has_side_effects Un valor que indica que la instrucción SQL es una instrucción en lenguaje de manipulación de datos (DML) o una instrucción SELECT que contiene una función VOLATILE.
last_used Este valor se actualiza a la fecha actual siempre que el plan sea ejecutado o cuando el plan sea el plan de costo mínimo del optimizador de consultas. Este valor se almacena en la memoria compartida y se vacía en el disco periódicamente. Para obtener el valor más actualizado, lea la fecha de la memoria compartida llamando a la función apg_plan_mgmt.plan_last_used(sql_hash, plan_hash) en lugar de leer el valor last_used. Para obtener más información, consulte el parámetro apg_plan_mgmt.plan_retention_period.
last_validated La fecha y hora más recientes en las que se comprobó que el plan se podría recrear mediante la función apg_plan_mgmt.validate_plans o la función apg_plan_mgmt.evolve_plan_baselines.
last_verified La fecha y hora más recientes en las que se verificó un plan como el que mejor rendimiento ofrece para los parámetros especificados mediante la función apg_plan_mgmt.evolve_plan_baselines.
origin

Cómo se capturó el plan con el parámetro apg_plan_mgmt.capture_plan_baselines. Entre los valores válidos se incluyen los siguientes:

M: el plan se capturó mediante captura de planes manual.

A: el plan se capturó mediante captura de planes automática.

param_list

Los valores de parámetros que se pasaron a la instrucción si es una instrucción preparada.

plan_created La fecha y hora en que se creó el plan.
plan_hash El identificador del plan. La combinación de plan_hash y sql_hash identifica un plan específico de forma unívoca.
plan_outline Una representación del plan que se utiliza para recrear el plan de ejecución real, y es independiente de la base de datos. Los operadores del árbol se corresponden con los operadores que aparecen en el resultado de EXPLAIN.
planning_time_ms

El tiempo real de ejecución del planificador, en milisegundos. Esta columna se rellena mediante la función apg_plan_mgmt.evolve_plan_baselines.

queryId Un hash de instrucción, calculado por la extensión pg_stat_statements. No es un identificador estable ni independiente de la base de datos, ya que depende de los identificadores de objetos (OID). El valor será 0 si compute_query_id está off al capturar el plan de consulta.
sql_hash Un valor hash del texto de la instrucción SQL, normalizado con los literales eliminados.
sql_text El texto completo de la instrucción SQL.
status

El estado de un plan, que determina cómo utiliza un plan el optimizador. Entre los valores válidos se incluyen los siguientes.

  • Approved: un plan utilizable que el optimizador puede elegir ejecutar. El optimizador ejecuta el plan menos costoso a partir de un conjunto de planes aprobados para una instrucción administrada (base de referencia). Para restaurar un plan como aprobado, utilice la función apg_plan_mgmt.evolve_plan_baselines.

  • Unapproved: un plan capturado que no se ha verificado para su uso. Para obtener más información, consulte Evaluación del rendimiento de los planes.

  • Rejected: un plan que el optimizador no utilizará. Para obtener más información, consulte Rechazar o desactivar planes más lentos.

  • Preferred: un plan que ha determinado como plan preferido para usar para una instrucción administrada.

    Si el costo mínimo del optimizador no es un plan aprobado o preferido, puede reducir la sobrecarga de cumplimiento del plan. Para ello, cree un subconjunto de los planes aprobados Preferred. Cuando el costo mínimo del optimizador no sea un plan Approved, se seleccionará un plan Preferred antes que uno Approved.

    Para restaurar un plan como Preferred, utilice la función apg_plan_mgmt.set_plan_status.

stmt_name El nombre de la instrucción SQL dentro de una instrucción PREPARE. Este valor es una cadena vacía para una instrucción preparada sin nombre. Este valor es NULL para una instrucción no preparada.
total_time_benefit_ms

El beneficio en tiempo total, en milisegundos, de habilitar este plan. Este valor tiene en cuenta tanto el tiempo de planificación como el de ejecución.

Si este valor es negativo, existe una desventaja al habilitar este plan. Esta columna se rellena mediante la función apg_plan_mgmt.evolve_plan_baselines.