摘要:創建物化視圖創建物化視圖創建物化視圖本篇目錄官方文檔官方文檔基本語法查詢語法參數說明參數描述物化視圖的名稱,必填項。物化視圖的原始表名,必填項。由于物化視圖沒有聲明排序列,且物化視圖帶聚合數據,系統默認補充分組列為排序列。
基本語法:
CREATE MATERIALIZED VIEW [MV name] as [query]
[PROPERTIES ("key" = "value")]
查詢語法:
SELECT select_expr[, select_expr ...]
FROM [Base view name]
GROUP BY column_name[, column_name ...]
ORDER BY column_name[, column_name ...]
參數說明:
參數描述MVname物化視圖的名稱,必填項。相同表的物化視圖名稱不可重復。query用于構建物化視圖的查詢語句,查詢語句的結果既物化視圖的數據select_expr物化視圖的schema中所有的列。僅支持不帶表達式計算的單列,聚合列。其中聚合函數目前僅支持SUM,MIN,MAX三種,且聚合函數的參數只能是不帶表達式計算的單列。至少包含一個單列。所有涉及到的列,均只能出現一次。baseviewname物化視圖的原始表名,必填項。必須是單表,且非子查詢groupby物化視圖的分組列,選填項。不填則數據不進行分組orderby物化視圖的排序列,選填項。排序列的聲明順序必須和select_expr中列聲明順序一致。如果不聲明orderby,則根據規則自動補充排序列。如果物化視圖是聚合類型,則所有的分組列自動補充為排序列。如果物化視圖是非聚合類型,則前36個字節自動補充為排序列。如果自動補充的排序個數小于3個,則前三個作為排序列。如果query中包含分組列的話,則排序列必須和分組列一致。properties聲明物化視圖的一些配置,選填項properties如果Kafkaserver端開啟了client認證,需要指定privatekey的密碼short_key排序列的個數。timeout物化視圖構建的超時時間。Base 表結構為
mysql> desc duplicate_table;
+-------+--------+------+------+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------+------+------+---------+-------+
| k1 | INT | Yes | true | N/A | |
| k2 | INT | Yes | true | N/A | |
| k3 | BIGINT | Yes | true | N/A | |
| k4 | BIGINT | Yes | true | N/A | |
+-------+--------+------+------+---------+-------+
創建一個僅包含原始表 (k1, k2)列的物化視圖
create materialized view k1_k2 as
select k1, k2 from duplicate_table;
物化視圖的 schema 如下圖,物化視圖僅包含兩列 k1, k2 且不帶任何聚合
+-----------------+-------+--------+------+------+---------+-------+
| IndexName | Field | Type | Null | Key | Default | Extra |
+-----------------+-------+--------+------+------+---------+-------+
| k1_k2 | k1 | INT | Yes | true | N/A | |
| | k2 | INT | Yes | true | N/A | |
+-----------------+-------+--------+------+------+---------+-------+
創建一個以 k2 為排序列的物化視圖
create materialized view k2_order as
select k2, k1 from duplicate_table order by k2;
物化視圖的 schema 如下圖,物化視圖僅包含兩列 k2, k1,其中 k2 列為排序列,不帶任何聚合。
+-----------------+-------+--------+------+-------+---------+-------+
| IndexName | Field | Type | Null | Key | Default | Extra |
+-----------------+-------+--------+------+-------+---------+-------+
| k2_order | k2 | INT | Yes | true | N/A | |
| | k1 | INT | Yes | false | N/A | NONE |
+-----------------+-------+--------+------+-------+---------+-------+
創建一個以 k1, k2 分組,k3 列為 SUM 聚合的物化視圖
create materialized view k1_k2_sumk3 as
select k1, k2, sum(k3) from duplicate_table group by k1, k2;
物化視圖的 schema 如下圖,物化視圖包含兩列 k1, k2,sum(k3) 其中 k1, k2 為分組列,sum(k3) 為根據 k1, k2 分組后的 k3 列的求和值。
由于物化視圖沒有聲明排序列,且物化視圖帶聚合數據,系統默認補充分組列 k1, k2 為排序列。
+-----------------+-------+--------+------+-------+---------+-------+
| IndexName | Field | Type | Null | Key | Default | Extra |
+-----------------+-------+--------+------+-------+---------+-------+
| k1_k2_sumk3 | k1 | INT | Yes | true | N/A | |
| | k2 | INT | Yes | true | N/A | |
| | k3 | BIGINT | Yes | false | N/A | SUM |
+-----------------+-------+--------+------+-------+---------+-------+
創建一個去除重復行的物化視圖
create materialized view deduplicate as
select k1, k2, k3, k4 from duplicate_table group by k1, k2, k3, k4;
物化視圖 schema 如下圖,物化視圖包含 k1, k2, k3, k4列,且不存在重復行。
+-----------------+-------+--------+------+-------+---------+-------+
| IndexName | Field | Type | Null | Key | Default | Extra |
+-----------------+-------+--------+------+-------+---------+-------+
| deduplicate | k1 | INT | Yes | true | N/A | |
| | k2 | INT | Yes | true | N/A | |
| | k3 | BIGINT | Yes | true | N/A | |
| | k4 | BIGINT | Yes | true | N/A | |
+-----------------+-------+--------+------+-------+---------+-------+
創建一個不聲明排序列的非聚合型物化視圖 all_type_table 的 schema 如下
+-------+--------------+------+-------+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-------+---------+-------+
| k1 | TINYINT | Yes | true | N/A | |
| k2 | SMALLINT | Yes | true | N/A | |
| k3 | INT | Yes | true | N/A | |
| k4 | BIGINT | Yes | true | N/A | |
| k5 | DECIMAL(9,0) | Yes | true | N/A | |
| k6 | DOUBLE | Yes | false | N/A | NONE |
| k7 | VARCHAR(20) | Yes | false | N/A | NONE |
+-------+--------------+------+-------+---------+-------+
物化視圖包含 k3, k4, k5, k6, k7 列,且不聲明排序列,則創建語句如下:
create materialized view mv_1 as
select k3, k4, k5, k6, k7 from all_type_table;
系統默認補充的排序列為 k3, k4, k5 三列。這三列類型的字節數之和為 4(INT) + 8(BIGINT) + 16(DECIMAL) = 28 < 36。所以補充的是這三列作為排序列。 物化視圖的 schema 如下,可以看到其中 k3, k4, k5 列的 key 字段為 true,也就是排序列。k6, k7 列的 key 字段為 false,也就是非排序列。
+----------------+-------+--------------+------+-------+---------+-------+
| IndexName | Field | Type | Null | Key | Default | Extra |
+----------------+-------+--------------+------+-------+---------+-------+
| mv_1 | k3 | INT | Yes | true | N/A | |
| | k4 | BIGINT | Yes | true | N/A | |
| | k5 | DECIMAL(9,0) | Yes | true | N/A | |
| | k6 | DOUBLE | Yes | false | N/A | NONE |
| | k7 | VARCHAR(20) | Yes | false | N/A | NONE |
+----------------+-------+--------------+------+-------+---------+-------+
創建物化視圖的更多信息,請參見Create Materialized View。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/126827.html
摘要:概覽概覽概覽產品動態產品介紹什么是云數據倉庫產品優勢應用場景基本概念使用限制快速上手操作指南管理集群配置升降級節點擴容重啟實例重置管理員密碼刪除集群連接集群數據導入本地數據導入數據導入通過導入開發指南數據類型語法創建庫創建表創建視圖插入數 概覽概覽產品動態產品介紹什么是云數據倉庫UDoris產品優勢應用場景基本概念使用限制快速上手操作指南管理集群Backend配置升降級Frontend節點擴...
摘要:數據排序使用的列數,取最前面幾列,不能超過總的列數。示例創建一個動態分區表。創建外部表創建外部表在創建外部表的目的是可以通過訪問外部數據庫。創建表時,關于和的數量和數據量的建議。 建表(Create Table)創建表語法:CREATE TABLE [IF NOT EXISTS] [database.]table ( column_definition_list, [inde...
摘要:概覽概覽概覽產品動態產品介紹什么是云數據倉庫產品優勢應用場景基本概念使用限制快速上手操作指南管理集群配置升降級重啟實例重置管理員密碼刪除集群連接集群數據同步本地數據導入數據導入數據導入間數據導入開發指南數據類型語法創建庫創建表創建視圖插入 概覽概覽產品動態產品介紹什么是云數據倉庫 UClickHouse產品優勢應用場景基本概念使用限制快速上手操作指南管理集群配置升降級重啟實例重置管理員密碼刪...
摘要:重啟集群重啟集群重啟集群當您需要重啟集群時,登錄賬號進入到用戶控制臺,在全部產品下搜索或者數據倉庫下選擇數據倉庫,進入到數據倉庫控制臺下,選擇操作重啟注意重啟集群為高危操作,集群將處于重啟中持續數秒,建議無必要時不要隨意重啟實例,這將會 重啟集群當您需要重啟集群時,登錄UCloud賬號進入到用戶控制臺,在全部產品下搜索或者數據倉庫下選擇數據倉庫 UDW Doris,進入到數據倉庫UDoris...
摘要:如何連接云數據倉庫如何連接云數據倉庫如何連接云數據倉庫為保證安全,云數據倉庫僅提供內網網絡,您連接集群時可以配合同一地域的云主機或者網絡產品使用。 產品購買與使用本篇目錄為什么只提供一種云盤類型?配置升降級對集群有什么影響?配置升級有什么建議?如何連接云數據倉庫UDoris?為什么只提供一種云盤類型?Doris的存儲特性對磁盤吞吐量要求很高,為保證Doris的性能優勢, 因此僅提供RSSD云...
閱讀 421·2024-11-07 18:25
閱讀 130614·2024-02-01 10:43
閱讀 919·2024-01-31 14:58
閱讀 884·2024-01-31 14:54
閱讀 82896·2024-01-29 17:11
閱讀 3190·2024-01-25 14:55
閱讀 2031·2023-06-02 13:36
閱讀 3116·2023-05-23 10:26