首页 > 数据库 >oracle教程:创建手动刷新的物化视图

oracle教程:创建手动刷新的物化视图

时间:2023-10-02 13:07:16浏览次数:48  
标签:教程 ad -- 视图 物化 刷新 oracle view


创建物化视图的语法

1、物化视图概念:将视图中查询出来的数据存储到一张表中。
2、优点:查询速度比视图要快。
3、缺点:占用资源,并且要时时更新数据。
4、创建物化视图

CREATE METERIALIZED VIEW view_name
[BUILD IMMEDIATE | BUILD DEFERRED ]
REFRESH [FAST|COMPLETE|FORCE]
[
ON [COMMIT |DEMAND ] | START WITH (start_time) NEXT
(next_time)
]
AS
Subquery
  • METERIALIZED:实体化。
  • BUILD IMMEDIATE: 创建物化视图的时候就生成数据。
  • BUILD DEFERRED:创建物化视图的时候不生成数据。 默认为 BUILD IMMEDIATE
  • FAST:快速刷新,增量刷新。
  • COMPLETE:基表更新,删除物化视图数据,重新生成数据。
  • FORCE:自动选择,能增量刷新就增量,不能增量就完全刷新。
    默认为FORCE
  • ON COMMIT:基表变化,物化视图就刷新。
  • ON DEMAND:手动刷新 默认:ON DEMAND

创建手动刷新的物化视图

创建物化视图默认为手动刷新ON DEMAND,基表如果数据发生变化,物化视图中的表不会发生变化,需要手动进行刷新。

1、--需求:查询地址 ID,地址名称和所属区域名称
create materialized view view_address1 as
select ad.id,ad.name,ar.name arname
from t_address ad,t_area ar 
where ad.areaid=ar.id
--删除物化视图
drop materialized view view_address1;

2、--物化视图一般以mv开头
create materialized view mv_address1 as
select ad.id,ad.name,ar.name arname
from t_address ad,t_area ar 
where ad.areaid=ar.id
--查询物化视图
select * from mv_address1;

3、--向基表插入数据
insert into t_address values(8,'西三旗',2,2);
commit;
--查询t_address
select * from t_address;

4、--执行刷新语句
begin
  DBMS_MVIEW.refresh('MV_ADDRESS1','C');
end;

5、--向基表插入数据
insert into t_address values(9,'西四旗',2,2);
commit;    

6、--命令窗口更新刷新数据(了解)
EXEC DBMS_MVIEW.refresh('MV_ADDRESS1','C');

oracle教程:创建手动刷新的物化视图_数据库


标签:教程,ad,--,视图,物化,刷新,oracle,view
From: https://blog.51cto.com/zhangxueliang/7683355

相关文章

  • chat2db教程:根据对话内容生成SQL语句
    准备示例表--学生信息表droptableifexistsSTUDENT;CREATETABLEstudent(idINTPRIMARYKEYAUTO_INCREMENTCOMMENT'学生ID',nameVARCHAR(50)NOTNULLCOMMENT'学生姓名',genderVARCHAR(10)NOTNULLCOMMENT'学生性别',birthdayDATEN......
  • 达梦数据库教程:DM8表注释的正确写法
    错误示例直接在建表语句后面加上COMMENT的写法在DM中不被支持。正确示例正确的写法应该是:COMMENTONTABLEcourseIS'科目表';......
  • Oracle数据库升级PostgreSQL 后的踩坑记录(一)之databaseId
    背景:因为业务需求,需要整个项目除了适配oracle和mysql后还需要适配PostgreSQL,在此背景下就出现了一系列的问题。踩坑一:databaseId连接数据库后启动发现某些查询报错传入的sql参数是空,经过反复排查定位到对应的MyBaits的xml文件,我贴出原始的文件文件中判断databaseid是mysql还是oracl......
  • 主流常见关系数据库分页sql语句写法。MySQL、PostgreSQL、SQLite、Oracle、DB2、SQL S
    前言1.分页sql逻辑:每页10条,取第3页。即取第21~30条数据1.1.MySQL/SQLite/PostgreSQLselect*fromdemolimit10offset20;select*fromdemolimit20,10;--PostgreSQL不支持该写法1.2.Oracle12C+Oracle11g之前很难用,Oracle12C+与MySQL用法格式一样了,只是语法关......
  • 【尚硅谷】Jenkins教程(从配置到实战)
    课程链接:01-Jenkins教程简介_哔哩哔哩_bilibili课程笔记:https://files.cnblogs.com/files/henuliulei/Jenkins.zip?t=1696162767&download=trueJenkinsJenkins,原名Hudson,2011年改为现在的名字。它是一个开源的实现持续集成的软件工具。官方网站https://www.jenkins.io/j......
  • 【保姆级安装使用教程#1】Xshell与Xftp的下载、安装和使用
    1.下载官网下载地址:Xshell与Xftp下载地址当然也可以用鄙人的百度网盘连接下载这是链接:链接百度网盘下载Xshell与Xftp分别下载Xshell与Xftp2.安装Xshell打开Xshell安装包点击下一步点击接受许可,并进行下一步点击浏览更换安装地址,选择安装地址时要多建一......
  • 无涯教程-JavaScript - WEBSERVICE函数
    描述WEBSERVICE函数从Internet或Intranet上的Web服务返回数据。语法WEBSERVICE(url)争论Argument描述Required/OptionalurlTheURLofthewebservice.RequiredNotes如果参数无法返回数据,则WEBSERVICE返回#VALUE!错误值。如果参数导致一个无效的字符串或包......
  • 无涯教程-OC - 简介
    iOS是苹果公司为其移动设备所开发的专有移动操作系统,为其公司的许多移动设备提供操作界面,支持设备包括iPhone、iPad和iPodtouch。iOS在iOS4发布前名为iPhoneOS,iPad版本则于iOS13起独立为iPadOS。iOS是继Android后全球第二大最受欢迎的移动操作系统,市占率已上升至约24.5%,但仍......
  • 无涯教程-JavaScript - ENCODEURL函数
    描述ENCODEURL函数返回URL编码的字符串。语法ENCODEURL(text)争论Argument描述Required/OptionalTextAstringtobeURLencoded.Required适用性Excel2013,Excel2016Example参考链接https://www.learnfk.com/javascript/advanced-excel-statistical-encode......
  • 无涯教程-JavaScript - UPPER函数
    描述UPPER函数将文本转换为大写。语法UPPER(text)争论Argument描述Required/OptionalText您要转换为大写的文本。文本可以是引用或文本字符串。Required适用性Excel2007,Excel2010,Excel2013,Excel2016Example参考链接https://www.learnfk.com/javascri......