本頁提供 AlloyDB for PostgreSQL 資料欄引擎常見問題的建議修正方式和資訊。
您已將參照的資料欄新增至資料欄引擎,但 SELECT 查詢並未使用這些資料欄
說明:如要使用資料欄引擎,查詢片段 (例如彙整和掃描) 中參照的所有資料欄都必須位於資料欄儲存庫中。如果任何參照的資料欄不在資料欄引擎中,查詢片段會預設為資料列式儲存庫。
這裡的「查詢片段」是指可有多個掃描節點的查詢。舉例來說,查詢片段可以有兩個掃描節點,用於彙整。一個掃描節點可能使用非欄式,另一個掃描節點可能使用欄式。掃描節點的所有資料欄 (篩選器資料欄和投影資料欄) 都必須以資料欄形式填入。同樣地,查詢可以有部分分區採用資料欄,其他分區則不採用資料欄。
建議修正方式:如要確認所有參照的資料欄都在資料欄引擎中,請按照下列步驟操作:
查看支援的資料類型。
請確認 AlloyDB 支援您要與資料欄引擎搭配使用的所有資料欄資料類型。詳情請參閱「支援的資料類型」。如果 AlloyDB 不支援重要資料類型,請考慮與 Cloud Customer Care 聯絡。
查看支援的運算子。
請確認 AlloyDB 支援資料欄引擎中資料類型的運算子。如要進一步瞭解支援的運算子,請參閱「可受益於資料欄引擎的查詢類型」。
請執行
EXPLAIN COLUMNAR_ENGINE指令。如要找出並解決特定查詢無法使用資料欄引擎的問題,請執行下列
EXPLAIN COLUMNAR_ENGINE指令:EXPLAIN (COLUMNAR_ENGINE, ANALYZE) SELECT column1, column2 FROM my_table WHERE column3 > 100;
無法在資料欄引擎中新增或捨棄資料表
說明:您想在資料欄引擎中新增或捨棄資料表。
建議修正方式:確認使用者授權。您必須具備資料表的讀取權限,才能在資料欄引擎中新增或捨棄資料表。
資料欄資料大小超過分配的記憶體
說明:如果資料欄資料大小超過分配給資料欄引擎的記憶體,就會發生效能或資料處理問題。
建議修正方式:為達到最佳效能,請使用 AlloyDB 的建議功能,找出最適合填入資料欄引擎的資料表和資料欄。
如果建議的資料表和資料欄超過資料欄引擎的實體記憶體,超出的資料欄資料會使用部分超快速快取層。如果查詢資料表中的其餘資料,但資料不在資料欄引擎中,則會以透明方式使用資料列儲存庫。
您也可以調整資料欄引擎記憶體和儲存空間快取分配。資料欄引擎會以預設大小佈建記憶體和儲存空間快取。您可以手動設定記憶體和儲存空間快取。如要變更分配給資料欄引擎的記憶體或儲存空間快取量,請參閱「設定資料欄引擎的記憶體」。