网站首页 > 技术文章 正文
视图: 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;
猜你喜欢
- 2025-07-14 Oracle Linux 10发布:UEK 8.1、后量子加密、增强开发工具等
- 2025-07-14 甲骨文推出新的主权离线云产品,以提升安全性
- 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的体系结构
你 发表评论:
欢迎- 最近发表
-
- Three.js vs Unity:工业可视化为何选择Web方案?
- 一款全新Redis UI可视化管理工具,支持WebUI和桌面——P3X Redis UI
- 时间线可视化实战:三款AI工具实测,手把手教你制作人生轨迹图
- 【推荐】一款可视化在线 Web 定时任务管理平台,支持秒级任务设置
- 重磅更新!FastDatasets 推出可视化 Web 界面
- 模具设计之UG钣金实例教程(3)_ug钣金基础教程
- 前端基于 RBAC 模型的权限管理实现
- 别再把JWT存在localStorage里了!2025年前端鉴权新思路
- 模具设计之曲面造型中不圆润的曲面如何处理技巧
- 9个专业级别的CSS技巧区分了解和精通的鸿沟
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)