選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

從分解的資料建立 Amazon Redshift 純量欄 - Amazon Redshift

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

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

從分解的資料建立 Amazon Redshift 純量欄

儲存在 SUPER 中的無結構描述資料可能會影響 Amazon Redshift 的效能。例如,篩選述詞或聯結條件做為範圍限制掃描可能無法有效地使用區域地圖。使用者和 BI 工具可以使用具體化視觀表做為資料的常規表示形式,並提高分析查詢的效能。

下列查詢會掃瞄具體化視觀表 super_mv 和篩選 o_orderstatus

SELECT c.c_name, v.o_totalprice FROM customer_orders_lineitem c JOIN super_mv v ON c.c_custkey = v.c_custkey WHERE v.o_orderstatus = 'F';

檢查 stl_scan 以確認 Amazon Redshift 無法在 o_orderstatus 範圍限制掃描上有效地使用區域地圖。

SELECT slice, is_rrscan FROM stl_scan WHERE query = pg_last_query_id() AND perm_table_name LIKE '%super_mv%'; slice | is_rrscan -------+----------- 0 | f 1 | f 5 | f 4 | f 2 | f 3 | f (6 rows)

下列範例會調整具體化視觀表 super_mv,從分解的資料建立純量欄。在這種情況下,Amazon Redshift 會將 o_orderstatus 從 SUPER 轉換為 VARCHAR。此外,請指定 o_orderstatus 做為 super_mv 的排序索引鍵。

CREATE MATERIALIZED VIEW super_mv distkey(c_custkey) sortkey(c_custkey, o_orderstatus) AS ( SELECT c_custkey, o.o_orderstatus::VARCHAR AS o_orderstatus, o.o_totalprice, o_idx FROM customer_orders_lineitem c, c.c_orders o AT o_idx );

重新執行查詢之後,請確認 Amazon Redshift 現在可以使用區域地圖。

SELECT v.o_totalprice FROM super_mv v WHERE v.o_orderstatus = 'F';

您可以驗證範圍限制掃描現在使用區域地圖,如下所示。

SELECT slice, is_rrscan FROM stl_scan WHERE query = pg_last_query_id() AND perm_table_name LIKE '%super_mv%'; slice | is_rrscan -------+----------- 0 | t 1 | t 2 | t 3 | t 4 | t 5 | t (6 rows)
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。