Doris入门到精通-阶段三(物化视图&设置优化)

物化视图

聚合例子

建表

create table sales_records(
record_id int,
 seller_id int,
 store_id int,
 sale_date date,
 sale_amt bigint
) 
distributed by hash(record_id) 
properties("replication_num" = "1");

插入数据

insert into sales_records values(1,2,3,'2020-02-02',10);

创建物化视图

CREATE materialized VIEW store_amt AS SELECT
store_id,
sum( sale_amt ) 
FROM
	sales_records 
GROUP BY
	store_id;

查看表的物化视图

desc sales_records all;

查看库的所有物化视图

SHOW ALTER TABLE MATERIALIZED VIEW FROM test_db;

 

查看物化视图是否生效

EXPLAIN SELECT store_id, sum(sale_amt) FROM sales_records GROUP BY 
store_id;

 

删除物化视图

DROP MATERIALIZED VIEW store_amt on sales_records;

 再次查看执行计划,可以看到查询的是原表。

前缀索引例子

 查看执行计划

explain select record_id,seller_id,store_id from sales_records 
where store_id=3;

 

创建物化视图(这里就是调整了字段的顺序)

CREATE materialized VIEW mv_1 AS SELECT
store_id,
record_id,
seller_id,
sale_date,
sale_amt 
FROM
	sales_records;

 可以看到,走了物化视图

查询优化设置

内存设置

一个查询任务,在单个 BE 节点上默认使用不超过 2GB 内存,内存不够时 , 查询可能
会出现‘ Memory limit exceeded ’。
SHOW VARIABLES LIKE "%mem_limit%";

临时设置

SET exec_mem_limit = 8589934592;

全局设置(永久设置)

SET GLOBAL exec_mem_limit = 8589934592;

超时时间设置

doris 默认最长查询时间为 300s, 如果仍然未完成 , 会被 cancel 掉,查看配置:
SHOW VARIABLES LIKE "%query_timeout%";
set global query_timeout = 60;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

工作变成艺术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值