適用於 PostgreSQL 的 Azure 資料庫彈性伺服器中的查詢存放區最佳做法

本文概述了在 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器中使用查詢儲存庫的最佳實務。

設定最佳查詢擷取模式

設定查詢儲存庫來捕捉對你重要的查詢。

pg_qs.query_capture_mode 場景
all 擷取所有查詢 (最上層或巢狀),以及其執行頻率和其他統計資料。 使用此模式來識別工作量中的新查詢。 偵測是否使用臨時查詢來識別使用者定義參數化或自動參數化的機會。
top 僅擷取最上層查詢。 最上層查詢是由用戶端直接發出的查詢。 這些查詢不包含巢狀語句(在程序或函式中執行的語句)。
none 不會捕捉任何新的查詢。 如果你已經在想要調查的時間窗口內擷取了查詢,且不想繼續記錄新的查詢,請設定此值。 none 適合用於測試與基準測試環境。 請謹慎使用 none ,否則可能會錯過追蹤和優化重要新查詢的機會。

備註

pg_qs.query_capture_mode 取代 pgms_wait_sampling.query_capture_mode。 如果 pg_qs.query_capture_mode 為 none,則 pgms_wait_sampling.query_capture_mode 設定無效。

保留您所需的資料

pg_qs.retention_period_in_days 參數會指定查詢存放區的資料保留期間。 系統會刪除比該時期更早的統計數據。 系統也會刪除那些沒有任何統計資料參照的查詢之查詢文字或查詢計畫。 根據預設,查詢存放區是設定為將資料保留七天。 請避免保留您不打算使用的歷史資料。 如果您需要將資料保留更長的時間,請增加值。