梧桐数据库物化视图的创建及使用介绍
一、媒介提升查询性能一直是数据库的核心计划理念,物化视图就是其中一个项重要工具,现在梧桐数据库支持创建物化视图,本文简单介绍了梧桐数据库的物化视图创建与使用,供各人参考。
二、物化视图介绍
物化视图和视图雷同,反映的是某个查询的结果,但是和视图仅保存SQL定义不同,物化视图本身会存储数据,因此是物化了的视图。
在梧桐数据库中创建物化视图的根本语法如下
create materialized view 视图名称 as select 列名称 from 表名称 where 条件;
三、物化视图使用及优缺点分析
下面通过现实创建一个物化视图,通过实行时长对比总结其优缺点:
普通查询语句实行:
select to_char(create_time,'yyyymm') opne_month,count(cust_id) as total_cnt
from public.dw_***_***_dm
group by to_char(create_time,'yyyymm');
[*]实行查询语句时长:440571ms
创建物化视图
create materialized view public.dw_cust_open_total_view asselect to_char(create_time,'yyyymm') opne_month,count(cust_id) as total_cnt
from public.dw_***_***_dm
group by to_char(create_time,'yyyymm');
[*]实行时长:320988ms
查询物化视图:
select * from public.dw_cust_open_total_view ;
[*]实行时长:11ms
更新视图数据:
refresh materialized view public.dw_cust_open_total_view ;
[*]实行时长:56898ms
通过以上现实操纵总结物化视图的优缺点:
优点:预先盘算并存储查询结果,减少查询时的盘算开销,加快查询速率;
缺点:默认手动革新视图数据,需要存储空间;
四、物化视图革新计谋
除手动革新视图还可以通过触发器革新,详细操纵如下:
创建视图革新函数,通过调度工具触发视图革新;
创建视图革新函数:
CREATE OR REPLACE function public.refresh_materialized_view_func()
RETURNS record AS
$BODY$
DECLARE
BEGIN
REFRESH MATERIALIZED VIEW CONCURRENTLYpublic.dw_cust_open_total_view;
RETURN NULL;
END;
$BODY$
LANGUAGE plpgsql;
五、修改物化视图
物化视图也可雷同数据表修改视图名和字段名:
修改视图名
alter materialized view 原视图名 renameto 新视图名;
修改字段名
alter materialized view 视图名 rename 原字段名 to 新字段名;
[*]修改视图名称:
alter materialized view public.dw_cust_open_total_view rename to dw_cust_open_total_view_1;
https://i-blog.csdnimg.cn/direct/aeeddd4540f94f5596fa13135d2a2a8c.png#pic_center
https://i-blog.csdnimg.cn/direct/e183b2e6f85948289f4947d1836cae79.png#pic_center
[*]修改字段名称
alter materialized view public.dw_cust_open_total_view_1 rename total_cnt to total_cnt_1;
[*]删除物化视图
drop materialized view 物化视图名称;
总结
物化视图通过预先盘算并存储复杂查询的结果,可以显著提高数据检索的速率,以上简单介绍了梧桐数据库物化视图创建、查询、修改、删除、数据更新的相干语法,与SQL脚本查询对比的优缺点,在SQL查询优化、模型调优提速等场景中可以参考使用。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]