Doris系列之物化视图操作

Doris系列

注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flink Kafka Hbase Hive Flume等等~写的都是纯干货,各种顶会的论文解读,一起进步。
今天和大家分享一下Doris系列之物化视图操作
#博学谷IT学习技术支持


文章目录

  • Doris系列
  • 前言
  • 一、物化视图是什么?
  • 二、物化视图优势
  • 三、使用步骤
    • 1.创建一个base表并插入数据
    • 2.创建物化视图
    • 3.命中了物化视图
  • 总结


前言

Doris系列之物化视图操作_第1张图片
接着上次的Doris系列继续和大家分享,上一次主要和大家分享了Doris系列之高级功能-Rollup操作,今天和大家分享一下物化视图操作。


一、物化视图是什么?

物化视图的出现主要是为了满足用户,既能对原始明细数据的任意维度分析,也能快速的对固定维度进行分析查询。

物化视图就是包含了查询结果的数据库对象,可能是对远程数据的本地copy,也可能是一个表或多表join后结果的行或列的子集,也可能是聚合后的结果。说白了,就是预先存储查询结果的一种数据库对象。

在Doris中的物化视图,就是查询结果预先存储起来的特殊的表。

二、物化视图优势

  1. 对于那些经常重复的使用相同的子查询结果的查询性能大幅提升
  2. Doris自动更新物化视图的数据,保证base 表和物化视图表的数据一致性。无需额外的维护成本
  3. 查询的时候也可以自动匹配最优的物化视图

三、使用步骤

1.创建一个base表并插入数据

# 操作-创建Base表
CREATE TABLE sales_records(
    id INT COMMENT "销售记录的id",
    seller_id INT COMMENT "销售员的id",
    store_id  INT COMMENT "门店的id",
    sale_date DATE COMMENT "售卖时间",
    sale_amt BIGINT COMMENT "金额"
)
DISTRIBUTED BY HASH(id) BUCKETS 10;

insert into sales_records values (1001,1,1,'2022-01-01',100);
insert into sales_records values (1002,2,2,'2022-01-02',101);
insert into sales_records values (1003,3,3,'2022-01-03',102);

Doris系列之物化视图操作_第2张图片

2.创建物化视图

# 创建物化视图
CREATE MATERIALIZED VIEW mv_1 AS
SELECT seller_id,sale_date,SUM(sale_amt)
FROM sales_records
GROUP BY seller_id,sale_date;

# 操作-查询物化视图
desc sales_records all;

Doris系列之物化视图操作_第3张图片

3.命中了物化视图

explain SELECT seller_id,sale_date,SUM(sale_amt)
FROM sales_records
GROUP BY seller_id,sale_date;

Doris系列之物化视图操作_第4张图片


总结

今天和大家分享一下Doris系列之物化视图操作。

你可能感兴趣的:(Java和大数据,大数据,数据库)