對於 Aurora 郵政兼容版本的計劃視圖的參考 SQL - Amazon Aurora

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

對於 Aurora 郵政兼容版本的計劃視圖的參考 SQL

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

dba_plans 欄 描述
cardinality_error

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

compatibility_level

Aurora Postgre SQL 優化器的功能級別。

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

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

environment_variables

Postgre SQL 大統一設定 (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陳述式是資料操作語言 (DML) 陳述式或包含VOLATILE函數的SELECT陳述式的值。
last_used 每當計劃執行時,或當計劃是查詢最佳化工具的最低成本計劃時,此值會更新為目前日期。此值存放在共用記憶體中,並定期清空到磁碟。為了獲得最大 up-to-date 價值,請通過調用函數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 延伸計算的陳述式雜湊。這不是一個穩定的或與數據庫無關的標識符,因為它取決於對象標識符()。OIDs擷取查詢計畫時,若 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 SQL陳述式中陳述式的名稱。PREPARE對於未命名的備妥陳述式,此值為空白字串。此值NULL適用於未準備好的陳述式。
total_time_benefit_ms

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

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