Referenz für die apg_plan_mgmt.dba_plans-Ansicht - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Referenz für die apg_plan_mgmt.dba_plans-Ansicht

Die apg_plan_mgmt.dba_plans-Ansicht enthält die folgenden Spalten mit Planinformationen:

dba_plans-Spalte Beschreibung
cardinality_error

Hierbei handelt es sich um ein Maß zur Angabe des Fehlers zwischen der geschätzten und der tatsächlichen Kardinalität. Bei der Kardinalität handelt es sich um die Anzahl der Tabellenzeilen, die der Plan verarbeiten soll. Bei einem schwerwiegenden Kardinalitätsfehler besteht eine erhöhte Wahrscheinlichkeit dafür, dass ein Plan nicht optimal funktioniert. Diese Spalte ist durch die Funktion apg_plan_mgmt.evolve_plan_baselines ausgefüllt.

compatibility_level

Diese Spalte informiert über die Funktionsebene des Aurora PostgreSQL-Optimierers.

created_by Hier sehen Sie den authentifizierten Benutzer (session_user), der den Plan erstellt hat.
enabled

Gibt an, ob der Plan aktiviert oder deaktiviert ist. Alle Pläne sind standardmäßig aktiviert. Sie können Pläne deaktivieren, damit sie nicht vom Optimierer verwendet werden können. Verwenden Sie die Funktion apg_plan_mgmt.set_plan_enabled, um diesen Wert zu ändern.

environment_variables

Gibt Aufschluss über die Parameter und Werte der PostgreSQL Grand Unified Configuration (GUC), die vom Optimierer zum Zeitpunkt der Planerfassung überschrieben wurden.

estimated_startup_cost Diese Spalte bezieht sich auf die geschätzten Einrichtungskosten für den Optimierer, bevor dieser Tabellenzeilen übermittelt.
estimated_total_cost Diese Spalte informiert über die geschätzten Optimiererkosten für das Übermitteln der letzten Tabellenzeile.
execution_time_benefit_ms Die Ausführungszeitersparnis (in Millisekunden), die beim Aktivieren des Plans erzielt wird Diese Spalte ist durch die Funktion apg_plan_mgmt.evolve_plan_baselines ausgefüllt.
execution_time_ms Diese Spalte informiert über die geschätzte Laufzeit des Plans (in Millisekunden). Diese Spalte ist durch die Funktion apg_plan_mgmt.evolve_plan_baselines ausgefüllt.
has_side_effects Dieser Wert gibt an, dass die SQL-Anweisung eine Data Manipulation Language (DML)- oder eine SELECT-Anweisung ist, die eine Funktion des Typs TEMPORÄR enthält.
last_used Dieser Wert wird auf das aktuelle Datum aktualisiert, wenn der Plan ausgeführt wird oder als Minimalkostenplan des Abfrageoptimierers fungiert. Dieser Wert wird im gemeinsam genutzten Speicher gespeichert und regelmäßig an den Datenträger übertragen. Um den neuesten Wert zu erhalten, rufen Sie durch das Ausführen der Funktion apg_plan_mgmt.plan_last_used(sql_hash, plan_hash) das Datum aus dem gemeinsam genutzten Speicher ab, anstatt den Wert last_used zu nutzen. Weitere Informationen erhalten Sie, indem Sie sich über den apg_plan_mgmt.plan_retention_period-Parameter informieren.
last_validated Informiert über den letzten Zeitpunkt, an dem verifiziert wurde, dass der Plan entweder über die Funktion apg_plan_mgmt.validate_plans oder die Funktion apg_plan_mgmt.evolve_plan_baselines neu erstellt werden könnte.
last_verified Informiert über den letzten Zeitpunkt, an dem ein Plan über die Funktion apg_plan_mgmt.evolve_plan_baselines als bester Plan für die angegebenen Parameter ermittelt wurde.
origin

Gibt an, wie der Plan mithilfe des Parameters apg_plan_mgmt.capture_plan_baselines erfasst wurde. Gültige Werte sind unter anderem:

M: Der Plan wurde mit manueller Planerfassung erfasst.

A: Der Plan wurde mit automatischer Planerfassung erfasst.

param_list

Die Parameterwerte, die an die Anweisung gesendet wurden, falls es sich um eine vorbereitete Anweisung handelt.

plan_created Datum und Uhrzeit der Planerstellung
plan_hash Die ID des Plans. Durch die Kombination von plan_hash und sql_hash wird ein bestimmter Plan eindeutig identifiziert.
plan_outline Eine datenbankunabhängige Darstellung des Plans, mit der der tatsächliche Ausführungsplan neu erstellt wird. Die Operatoren in der Strukturansicht entsprechen den Operatoren in der EXPLAIN-Ausgabe.
planning_time_ms

Die tatsächliche Zeit (in Millisekunden), die zum Ausführen des Planers benötigt wird. Diese Spalte ist durch die Funktion apg_plan_mgmt.evolve_plan_baselines ausgefüllt.

queryId Ein von der Erweiterung pg_stat_statements berechneter Anweisungs-Hash. Hierbei handelt es sich nicht um eine stabile oder datenbankunabhängige ID, weil dieser Hash von Objekt-IDs (OIDs) abhängig ist. Der Wert wird 0 sein, wenn compute_query_id bei der Erfassung des Abfrageplans auf off gesetzt ist.
sql_hash Ein Hash-Wert des SQL-Anweisungstexts, normalisiert und ohne Literale
sql_text Der vollständige Text der SQL-Anweisung.
status

Informiert über den Status eines Plans. Der Status bestimmt, wie ein Plan vom Optimierer verwendet wird. Im Folgenden sind Beispiele für gültige Werte aufgeführt.

  • Approved – ein nutzbarer Plan, der vom Optimierer ausgeführt werden kann. Der Optimierer wählt aus dem Satz genehmigter Pläne (Baseline) einer verwalteten Anweisung den kostengünstigsten Plan zur Ausführung aus. Verwenden Sie die Funktion apg_plan_mgmt.evolve_plan_baselines, um einen Plan auf „Genehmigt“ zurückzusetzen.

  • Unapproved – ein erfasster Plan, der nicht zur Verwendung verifiziert wurde. Weitere Informationen finden Sie unter Auswerten der Performance von Plänen.

  • Rejected – ein Plan, der nicht vom Optimierer verwendet wird. Weitere Informationen finden Sie unter Ablehnen oder Deaktivieren langsamerer Pläne.

  • Preferred – ein Plan, der von Ihnen für eine verwaltete Anweisung als bevorzugter Plan bestimmt wurde.

    Wenn der Minimalkostenplan des Optimierers kein genehmigter oder bevorzugter Plan ist, können Sie den Overhead der Plandurchführung reduzieren. Dazu können Sie einer Teilmenge der genehmigten Pläne den Status „“ zuweise Preferred. Wenn der Minimalkostenplan des Optimierers kein Approved-Plan ist, erhält ein Preferred-Plan den Vorzug vor einem Approved-Plan.

    Verwenden Sie die Funktion „Preferred“, um einen Plan auf „apg_plan_mgmt.set_plan_status“ zurückzusetzen.

stmt_name Der Name der SQL-Anweisung innerhalb einer PREPARE-Anweisung. Dieser Wert ist eine leere Zeichenfolge für eine namenlose vorbereitete Anweisung. Dieser Wert beträgt bei nicht vorbereiteten Anweisungen NULL.
total_time_benefit_ms

Die gesamte Zeitersparnis (in Millisekunden), die beim Aktivieren dieses Plans erzielt wird. Dieser Wert berücksichtigt sowohl die Planungs- als auch die Ausführungszeit.

Ist dieser Wert negativ, sind mit dem Aktivieren dieses Plans Nachteile verbunden. Diese Spalte ist durch die Funktion apg_plan_mgmt.evolve_plan_baselines ausgefüllt.