【大数据】StarRocks的同步物化视图怎么用呢

同步物化视图认识

StarRocks 中的同步物化视图,是对于基表的数据变更自动同步更新到物化视图中,且无需手动调用刷新命令。目前仅能基于 Default Catalog 中的单个基表创建,是一种特殊的查询加速索引。同步物化视图的管理成本和更新成本都比较低,适合实时场景下单表聚合查询的透明加速。

注意点:

  • 在同步物化视图中使用聚合函数时,查询语句必须使用 GROUP BY 语句,且 SELECT LIST 中至少包含一个分组列。
  • 同步物化视图不支持对多列数据使用单个聚合函数,不支持形如 sum(a+b) 的查询语句。
  • 同步物化视图不支持对同列数据使用多个聚合函数,不支持形如 select sum(a), min(a) from table 的查询语句。
  • 同步物化视图创建语句不支持 JOIN。
  • 使用 ALTER TABLE DROP COLUMN 删除基表中特定列时,需要保证该基表所有同步物化视图中都不包含被删除列,否则无法进行删除操作。如需删除该列,则需要将所有包含该列的同步物化视图删除,然后删除该列。
  • 为一张表创建过多的同步物化视图会影响导入的效率。导入数据时,同步物化视图和基表数据将同步更新,如果一张基表包含 n 个同步物化视图,向基表导入数据时,其导入效率大约等同于导入 n 张表,数据导入的速度会变慢。
  • 当前不支持同时创建多个同步物化视图。仅当当前创建任务完成时,方可执行下一个创建任务。

聚合函数匹配关系

原始查询聚合函数物化视图构建聚合函数
sumsum
minmin
maxmax
countcount
bitmap_union, bitmap_union_count, count(distinct)bitmap_union
hll_raw_agg, hll_union_agg, ndv, approx_count_distincthll_union

同步物化视图的创建

通过 CREATE MATERIALIZED VIEW 语句为特定查询语句创建物化视图
示例:

CREATE MATERIALIZED VIEW store_amt AS
SELECT store_id, SUM(sale_amt)
FROM sales_records
GROUP BY store_id;

可通过SHOW ALTER MATERIALIZED VIEW查询同步物化视图的构建状态

同步物化视图的查询

同步物化视图本质上是基表的索引而不是物理表。新建的同步物化视图将预计算并保存上述查询的结果,后续查询将直接调用该结果以加速查询。创建成功后运行原来同样的查询语句即可。
示例:

SELECT store_id, SUM(sale_amt)
FROM sales_records
GROUP BY store_id;

同步物化视图的删除

删除正在创建的同步物化视图

通过SHOW ALTER MATERIALIZED VIEW查询到正在创建的同步物化视图的任务 ID JobID。得到任务 ID 后,通过 CANCEL ALTER 命令取消该创建任务。
示例:

CANCEL ALTER TABLE ROLLUP FROM sales_records (12090);

删除已创建的同步物化视图

已经创建好的同步物化视图,直接用 DROP MATERIALIZED VIEW 命令删除已创建的同步物化视图。
示例:

DROP MATERIALIZED VIEW store_amt;
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值