notebook/996/doirs/物化视图.sql
2025-07-11 15:32:31 +08:00

82 lines
2.4 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

build_mode
IMMEDIATE
DEFERRED
refresh_method
COMPLETE
AUTO退
refresh_trigger
ON MANUAL
SQL
--检测基表的分区数据自上次刷新后是否有变化,刷新数据变化的分区
REFRESH MATERIALIZED VIEW mvName AUTO;
--不校验基表的分区数据自上次刷新后是否有变化,直接刷新物化视图的所有分区。
REFRESH MATERIALIZED VIEW mvName COMPLETE;
--只刷新指定的分区。
REFRESH MATERIALIZED VIEW mvName partitions(partitionName1,partitionName2);
--ON SCHEDULE 定时触发
-- 定时全量
CREATE MATERIALIZED VIEW mv_6
REFRESH COMPLETE ON SCHEDULE EVERY 10 hour
AS
SELECT * FROM lineitem;
-- 定时增量
CREATE MATERIALIZED VIEW mv_8
REFRESH AUTO ON COMMIT
PARTITION by(l_shipdate)
AS
SELECT * FROM lineitem;
--ON COMMIT 自动触发 (Apache Doris 2.1.4 版本起支持此功能)
CREATE MATERIALIZED VIEW mv_8
REFRESH AUTO ON COMMIT
PARTITION by(l_shipdate)
AS
SELECT * FROM lineitem;
-- BUILD IMMEDIATE 创建完立即刷新
CREATE MATERIALIZED VIEW mv_1_0
BUILD IMMEDIATE
REFRESH AUTO
ON MANUAL
DISTRIBUTED BY RANDOM BUCKETS 2
AS
SELECT
l_linestatus,
to_date(o_orderdate) as date_alias,
o_shippriority
FROM
orders
LEFT JOIN lineitem ON l_orderkey = o_orderkey;
-- 延迟刷新 BUILD DEFERRED
CREATE MATERIALIZED VIEW mv_1_1
BUILD DEFERRED
REFRESH COMPLETE
ON SCHEDULE EVERY 1 DAY STARTS '2024-12-01 20:30:00'
PROPERTIES ('replication_num' = '1')
AS
SELECT
l_linestatus,
to_date(o_orderdate) as date_alias,
o_shippriority
FROM
orders
LEFT JOIN lineitem ON l_orderkey = o_orderkey;
-------
CREATE MATERIALIZED VIEW mv_yinzhou
BUILD IMMEDIATE -- 创建后立即全量刷新
REFRESH AUTO -- 优先增量刷新(仅刷新变化分区)
ON SCHEDULE EVERY 1 DAY -- 每日执行一次
STARTS '2025-06-27 03:15:00' -- 首次刷新时间次日凌晨3:15
DISTRIBUTED BY HASH(l_linestatus) BUCKETS AUTO -- 自动分桶
AS
SELECT
l_linestatus,
to_date(o_orderdate) as date_alias,
o_shippriority
FROM
orders
LEFT JOIN lineitem ON l_orderkey = o_orderkey;