使用索引建議工具

AlloyDB for PostgreSQL 提供索引建議,可追蹤資料庫經常處理的查詢。這項工具會定期分析這些查詢,並建議可提升查詢效能的新索引。

您可以將建議視為資料表查看及查詢,也可以隨時要求隨選分析和報表。

查看索引建議工具的建議

AlloyDB 會定期自動執行索引建議工具的分析。您可以透過每個資料庫中的兩個表格檢視畫面,查看結果:

  • google_db_advisor_recommended_indexes 會列出資料庫的任何建議新索引。這份報告也包含每個索引所需的儲存空間預估值,以及每個索引可能影響的查詢數量。

  • google_db_advisor_workload_report會列出顧問建議一或多個新索引的每個查詢。每一列都會彙整相關查詢的建議。

舉例來說,如要以表格格式查看最近一次索引建議分析的結果,請執行下列查詢:

SELECT * FROM google_db_advisor_recommended_indexes;

如果索引顧問的最新分析結果未提供任何建議,這項查詢就會傳回沒有資料列的資料表。

由於所有這些報表都是一般的資料庫檢視畫面,因此您可以編寫查詢,以任何方式篩選或呈現資訊。舉例來說,如要查看建議索引與完整相關聯查詢配對的報表,請在各自的 query_id 欄上,聯結 google_db_advisor_workload_reportgoogle_db_advisor_workload_statements 檢視畫面:

SELECT DISTINCT recommended_indexes, query
FROM google_db_advisor_workload_report r, google_db_advisor_workload_statements s
WHERE r.query_id = s.query_id;

手動要求進行索引分析

您不必等待索引建議工具下次排定的分析作業,可以要求 AlloyDB 立即執行分析並顯示報表。如要執行這項操作,請執行下列 SQL 函式:

SELECT * FROM google_db_advisor_recommend_indexes();

分析完成後,AlloyDB 會顯示表格格式的報告,其中包含建議索引的說明和預估儲存空間需求。如果分析結果顯示沒有可建議的新索引,檢視畫面就不會包含任何資料列。

請注意,執行這項指令的 PostgreSQL 使用者角色可能會影響顯示的建議。如果這項查詢是由 postgres 或其他具有 alloydbsuperuser 角色的使用者執行,AlloyDB 會顯示索引建議工具目前的所有建議。否則,AlloyDB 只會根據目前資料庫使用者發出的查詢,顯示索引建議。

套用索引建議工具的建議

google_db_advisor_recommended_indexes 檢視區塊的 index 欄位在每個資料列中,都包含完整的 PostgreSQL CREATE INDEX DDL 陳述式,用於產生該資料列中建議的索引。

如要套用該資料列的建議,請執行該 DDL 陳述式,且內容必須與顯示的完全一致。包括複製到剪貼簿,然後貼到 psql 提示中。

舉例來說,請參考手動執行分析時的輸出內容,使用上一節所述的查詢:

                    index                   | estimated_storage_size_in_mb
--------------------------------------------+------------------------------
 CREATE INDEX ON "School"."Students"("age") |                            3
(1 row)

這份報表包含一項建議:在 School 結構定義的 Students 資料表中,為 age 資料欄新增單一資料欄索引。如要套用這項建議,請輸入 DDL 查詢,內容與報表中的完全一致:

CREATE INDEX ON "School"."Students"("age");

查看索引建議工具追蹤的查詢

google_db_advisor_workload_statements」檢視畫面會列出索引建議追蹤的所有查詢,以及每個查詢的重要中繼資料,例如下列指標:

  • 執行個體執行這項查詢的次數
  • 執行個體處理這些查詢所花費的總時間
  • 執行這些查詢的資料庫使用者 ID

清除索引建議工具追蹤的查詢

如要重設執行個體的索引建議行為,請清除追蹤的查詢。如要執行這項操作,請執行下列 SQL 函式:

SELECT google_db_advisor_reset();

AlloyDB 會立即清空索引建議工具的追蹤查詢集合。

設定索引建議工具

雖然索引建議工具的預設設定適用於大多數用途,但您仍可設定各種資料庫標記,微調工具的行為。詳情請參閱「索引建議指標」參考頁面。