apg_plan_mgmt.dba_plans 檢視的參考 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

apg_plan_mgmt.dba_plans 檢視的參考

apg_plan_mgmt.dba_plans 檢視中的計劃資訊欄如下。

dba_plans 欄 描述
cardinality_error

預估基數和實際基數之間的誤差度量。基數是計劃將處理的資料表列數。如果基數誤差很大,則計劃越有可能並未達到最佳。此欄由 apg_plan_mgmt.evolve_plan_baselines 函數填入。

compatibility_level

Aurora PostgreSQL 最佳化工具的功能層級。

created_by 計劃的建立使用者 (已驗證) (session_user)。
enabled

表示計劃已啟用或停用的指標。預設會啟用所有計劃。您可以停用計劃以防止最佳化工具使用它們。若要修改此值,請使用 apg_plan_mgmt.set_plan_enabled 函數。

environment_variables

最佳化工具在擷取計劃時覆寫的 PostgreSQL Grand Unified Configuration (GUC) 參數和值。

estimated_startup_cost 在最佳化工具交付資料表的列之前預估的最佳化工具設定成本。
estimated_total_cost 預估交付最終資料表列的最佳化工具成本。
execution_time_benefit_ms 啟用計劃的執行時間利益 (以毫秒為單位)。此欄由 apg_plan_mgmt.evolve_plan_baselines 函數填入。
execution_time_ms 計劃執行的預估時間 (以毫秒為單位)。此欄由 apg_plan_mgmt.evolve_plan_baselines 函數填入。
has_side_effects 此值表示 SQL 陳述式是包含 VOLATILE 函數的資料操作語言 (DML) 陳述式或 SELECT 陳述式。
last_used 每當計劃執行時,或當計劃是查詢最佳化工具的最低成本計劃時,此值會更新為目前日期。此值存放在共用記憶體中,並定期清空到磁碟。若要取得最新的值,請呼叫函數 apg_plan_mgmt.plan_last_used(sql_hash, plan_hash) 來讀取共用記憶體中的日期,而非讀取 last_used 值。如需其他資訊,請參閱 apg_plan_mgmt.plan_retention_period 參數。
last_validated 最近一次以 apg_plan_mgmt.validate_plans 函數或 apg_plan_mgmt.evolve_plan_baselines 函數來確認可重建計劃的日期和時間。
last_verified 最近一次以 apg_plan_mgmt.evolve_plan_baselines 函數來確認計劃是特定參數的表現最佳計劃的日期和時間。
origin

如何以 apg_plan_mgmt.capture_plan_baselines 參數來擷取計劃。有效值包括以下項目:

M – 以手動計劃擷取來擷取計劃。

A – 以自動計劃擷取來擷取計劃。

param_list

傳遞給陳述式 (如果這是備妥陳述式) 的參數值。

plan_created 建立計劃的日期和時間。
plan_hash 計劃識別符。plan_hashsql_hash 的組合可唯一地識別特定計劃。
plan_outline 用來重建實際執行計劃的計劃表示法,與資料庫無關。樹狀目錄中的運算子對應於 EXPLAIN 輸出中出現的運算子。
planning_time_ms

執行規劃器的實際時間 (以毫秒為單位)。此欄由 apg_plan_mgmt.evolve_plan_baselines 函數填入。

queryId pg_stat_statements 延伸計算的陳述式雜湊。這依賴物件識別符 (OID),所以不是穩定或與資料庫無關的識別符。擷取查詢計劃時,若 compute_query_idoff,此值將為 0
sql_hash SQL 陳述式文字的雜湊值,已去除常值而標準化。
sql_text SQL 陳述式的完整文字。
status

計劃的狀態,可決定最佳化工具如何使用計劃。有效值如下。

  • Approved – 可供最佳化工具選擇執行的有用計劃。最佳化工具會從受管陳述式的核准計劃集 (基線) 之中執行最低成本計劃。若要將計劃重設為已核准,請使用 apg_plan_mgmt.evolve_plan_baselines 函數。

  • Unapproved – 已擷取但尚未確認可用的計劃。如需更多詳細資訊,請參閱 評估計劃效能

  • Rejected – 最佳化工具不會使用的計劃。如需更多詳細資訊,請參閱 拒絕或停用較慢的計劃

  • Preferred – 您已決定優先用於受管陳述式的計劃。

    如果最佳化工具的最低成本計劃不是已核准或較偏好的計劃,您可以降低計劃強制實施的開銷。若要這麼做,請產生已核准計劃的子集合 Preferred。當最佳化工具的最低成本不是 Approved 計劃時,則會優先於 Preferred 計劃而選擇 Approved 計劃。

    若要將計劃重設為 Preferred,請使用 apg_plan_mgmt.set_plan_status 函數。

stmt_name PREPARE 陳述式之內的 SQL 陳述式的名稱。對於未命名的備妥陳述式,此值為空白字串。對於未備妥陳述式,此值為 NULL。
total_time_benefit_ms

啟用此計劃的總時間利益 (以毫秒為單位)。此值會考量計劃時間和執行時間。

如果此值為負數,則啟用此計劃不利。此欄由 apg_plan_mgmt.evolve_plan_baselines 函數填入。