网站首页 > 技术文章 正文
视图: 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;
猜你喜欢
- 2024-10-21 Oracle和富士通合作推广企业云计算
- 2024-10-21 Oracle OAC系列:在数据集中创建计算的数据元素
- 2024-10-21 Oracle发布面向开发者的无服务器计算平台
- 2024-10-21 一次搞定各种数据库 SQL 执行计划 | 原力计划
- 2024-10-21 一次搞定各种数据库SQL执行计划 数据库执行计划怎么看
- 2024-10-21 Oracle推出Compute Cloud@Customer,可在任何地方提供OCI计算服务
- 2024-10-21 Oracle P6培训系列:12进度计算 oracle进程数
- 2024-10-21 ORACLE 体系 - 8 简要描述oracle的体系结构
- 2024-10-21 Oracle统计信息中在CBO模式下用于计算cost的参数之---聚簇因子
- 2024-10-21 怎么简单实现同比、环比计算的N种姿势?
你 发表评论:
欢迎- 最近发表
-
- 前端流行框架Vue3教程:13. 组件传递数据_Props
- 前端必看!10 个 Vue3 救命技巧,解决你 90% 的开发难题?
- JAVA和JavaScript到底是什么关系?是亲戚吗?
- Java和js有什么区别?(java和javascript的区别和联系)
- 东方标准|Web和Java的区别,如何选择这两个专业
- 前端面试题-JS 中如何实现大对象深度对比
- 360前端一面~面试题解析(360前端笔试)
- 加班秃头别慌!1 道 Vue 面试题,快速解锁大厂 offer 通关密码
- 焦虑深夜刷题!5 道高频 React 面试题,吃透 offer 稳了
- 2025Web前端面试题大全(整理版)面试题附答案详解,最全面详细
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端懒加载 (45)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle查询数据库 (45)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)