达梦数据库之物化视图【达梦数据库技术系列】
程序员文章站
2022-06-02 20:07:48
...
【视图】是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制,它简化了用 户数据模型,提供了逻辑数据独立性,实现了数据共享和数据的安全保密。视图是数据库技术中一个十分重要的功能。
当用户所需的数据是一张表的部分列或部分行, 或者数据是分散在多个表中,那么就可以创建视图来将这些满足条件的行和列组织到一个表,而不需要修改表的属性、甚至创建新的表。这样不仅简化了用户的操作,还可以提高数据的逻辑独立性,实现数据的共享和保密。
【物化视图】是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的。可以在某些场景上提高查询效率,同时实现数据的共享和保密。
达梦手动刷新的物化视图用法:
SQL> create materialized view mv_emp as select * from emp;
SQL> select * from dba_views where view_name='MV_EMP';
SQL> update emp set salary=1 where rownum<=1;
SQL> commit;
SQL> refresh materialized view mv_emp;
默认创建的是手动刷新的物化视图,可以根据业务需要刷新视图,例子中的emp可以根据自己需要自行创建
达梦自动刷新的物化视图用法:
- 创建物化视图日志
SQL> create materialized view log on emp;
物化视图的基表需要有主键
- 创建自动刷新的物化视图并测试
SQL> create materialized view mv_emp1 refresh fast on commit as select * from emp;
SQL> update emp set salary=100 where rownum<=1;
- 修改物化视图支持查询重写
SQL> alter MATERIALIZED VIEW mv_emp1 ENABLE QUERY REWRITE ;
默认不支持查询重写
- 创建基于时间的物化视图
SQL> create materialized view emp_mv refresh fast start with sysdate next sysdate+1 as select * from emp;
【说明】
物化视图语法可以参考官方文档。
上一篇: 快速乘/规避溢出
下一篇: python import 文件