网站首页 > 数据库 / 正文
视图: view
虚拟的表格,不会占用磁盘空间,是一个sql语句运行的结果。
创建的语法:
create view 视图名字 as select 查询语句;
create view sal3 as
select ename,sal,deptno from
(select a.*,rownum r from
(select * from emp_4 order by sal desc) a) b
where r<=3;
select * from sal3;
所以 sal3 就是上面的那个select语句。
视图的优点和缺点:
1.可以将很长的sql语句变成一个视图的名字,来简化的日常的sql
2.使用视图进行表格数据的传递,添加with read only防止别人对表格数据做修改
3.使用视图传递数据,可以隐藏一些敏感字段
4.视图可以节省服务器的网络流量
视图的查询,可能会导致句子写起来很简单,但是内部的逻辑非常的复杂,如果这个句子运行速度很慢,没有办法去对这个数据进行优化。
物化视图: materialized view
也叫做 快照表,保存某个表格在某个时间点的数据,并且可以在当前的物化视图上去设置表格数据更新的规则。
刷新表格数据的方法:
complete 完全更新
fast 快速更新
force 默认的更新方式,相当于fast
1.实时更新的物化视图 on commit
create materialized view 物化视图名字
refresh complete|fast on commit
as
select 查询语句;
create materialized view mv_emp
refresh complete on commit
as
select deptno,sum(sal) s from emp_test group by deptno;
快速更新,要求表格要有主键,要有实体化日志信息,查询结果要包含主键字段,不能做复杂的计算和查询。
create materialized view mv_emp2
refresh fast on commit
as
select empno,sal from emp_test;
alter table emp_test add constraints pk_no primary key (empno);
解决方法,给原表添加一个实体化日志:
create materialized view log on emp_test;
2.定时更新的物化视图 on demand
create materialized view 物化视图名字
refresh complete|fast on demand
start with 开始计时的时间点 next 更新数据的时间点
as
select 查询语句;
create materialized view mv_emp3
refresh complete on demand
start with sysdate next trunc(sysdate+1,'dd')+10/24
as
select deptno,avg(sal) from emp_test group by deptno;
视图和物化视图的区别?
1.视图是虚拟的,物化视图是真实的表格,会占用磁盘空间
2.如果原表的数据查询比较慢,视图的查询也会比较慢,物化视图是重新保存的数据,快慢是根据当前物化视图的数据量来决定的
3.可以给物化视图创建索引加快它的查询速度
4.视图是跟着原表一起进行数据变更的,物化视图有实时更新和定时更新两种方法
手动刷新物化视图的表格:
begin
dbms_mview.refresh('大写的物化视图名字', '大写的刷新的方法');
end;
begin
dbms_mview.refresh('MV_EMP3','COMPLETE');
end;
Tags:oracle语法as
猜你喜欢
- 2024-11-26 ERP实施方法论:ASAP
- 2024-11-26 oracle11g rman恢复:ORA-01180
- 2024-11-26 ORACLE 体系 - 10
- 2024-11-26 初识Oracle之架构体系理解
- 2024-11-26 Oracle 20c 新特性:表达式参数值 Expressions Parameter Values
- 2024-11-26 ORA-00257错误的解决办法
- 2024-11-26 从 TPCH 测试学习性能优化技巧之 Q6
- 2024-11-26 oracle中sql 正则写法详解
- 2024-11-26 详解Oracle数据库分组函数group by 、rollup、cude、grouping等
- 2024-11-26 Oracle 20c 新特性知多少?ANSI SQL 全支持之 EXCEPT 运算符增强