视图:视图不占用磁盘空的虚拟表是sql语句的结果。语法创建者:将视图名称创建为select查询语句;创建视图sal3为选择ename,sal,deptno fr
视图:视图
不占用磁盘空的虚拟表是sql语句的结果。
语法创建者:
将视图名称创建为select查询语句;
创建视图sal3为
选择ename,sal,deptno from
(select a.*,rownum r from
(从萨尔·desc订购的emp_4中选择)a) b)
其中r & lt=3;
select * from sal3
所以sal3就是上面的select语句。
视图的优点和缺点:
1.您可以将一个长的sql语句转换成一个视图的名称,以简化您的日常sql。
2.使用视图传输表数据,并添加with read only以防止其他人修改表数据。
3.通过使用视图传输数据,可以隐藏一些敏感字段。
4.视图可以节省服务器的网络流量。
视图查询,可能会导致简单的语句编写,但是内部逻辑非常复杂。如果这句话运行慢了,这个数据就没办法优化了。
实体化视图:实体化视图
也叫快照表,保存某个时间点的表的数据,可以设置当前物化视图上表数据的更新规则。
刷新表格数据的方法:
完成完全更新
快速更新
force的默认更新方法相当于fast。
1.提交时实时更新实体化视图
创建实体化视图实体化视图名
刷新完成|提交时快速
如同
Select语句;
创建实体化视图mv_emp
提交时刷新完成
如同
select deptno,sum(sal)s from EMP _ test group by deptno;
快速更新要求表具有主键,物化日志信息和查询结果包含主键字段。不允许复杂的计算和查询。
创建物化视图mv_emp2
提交时快速刷新
如同
select empno,sal from emp _ test
alter table EMP _ test add constraints PK _ no主键(empno);
解决方案:将实体化日志添加到原始表中:
在emp_test上创建实体化视图日志;
2.按需物化视图定期更新
创建实体化视图实体化视图名
刷新完成|按需快速
start开始计时的时间点,next更新数据的时间点。
如同
Select语句;
创建物化视图mv_emp3
按需刷新完成
从sysdate开始下一个trunc(sysdate+1,& # 39;dd & # 39)+10/24
如同
select deptno,avg(sal)from EMP _ test group by deptno;
视图和物化视图有什么区别?
1.视图是虚拟的,物化视图是真实的表,会占用磁盘空
2.如果原表的数据查询慢,视图的查询也会慢。物化视图是重新保存的数据,速度由当前物化视图的数据量决定。
3.您可以为实例化视图创建索引,以加快其查询速度。
4.视图随原始表格一起更改。物化视图可以实时和定期更新。
手动刷新实体化视图的表:
开始
DBMS _ mview . refresh(& # 39;大写的物化视图名& # 39;, '资本更新的方法& # 39;);
结束;
开始
DBMS _ mview . refresh(& # 39;MV _ EMP3 & # 39,'完整& # 39;);
结束;
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。
作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/227114.html