oracle-物化视图-MATERIALIZED VIEW 物化视图学习

简介:

----建测试表

create table userA.test20210730 as select * from userA.sales where rownum<10000000;

----创建物化视图日志

CREATE MATERIALIZED VIEW LOG ON test20210730
WITH ROWID, SEQUENCE(STORE_CODE,
            PRODUCT_SKU_CODE,
            SECOND_AREA_NAME,
            SECOND_AREA_MANAGER_EMNAME,
            AMIBA_MANAGER_EMNAME,
            SUPERVISE_MANAGER_EMNAME,
           GUID_EMNAME,
            EMPLOYEE_NAME,
            report_date) INCLUDING NEW VALUES;
            

-----创建物化视图

CREATE MATERIALIZED VIEW userA.test20210730_mv
refresh fast on demand
with rowid
START  WITH SYSDATE NEXT SYSDATE + 2/60*24
AS
     SELECT f.STORE_CODE,
            f.PRODUCT_SKU_CODE,
            f.SECOND_AREA_NAME,
            f.SECOND_AREA_MANAGER_EMNAME,
            f.AMIBA_MANAGER_EMNAME,
            f.SUPERVISE_MANAGER_EMNAME,
            f.GUID_EMNAME,
            f.EMPLOYEE_NAME,
            f.report_date
       FROM userA.test20210730 f
   GROUP BY f.STORE_CODE,
            f.PRODUCT_SKU_CODE,
            f.SECOND_AREA_NAME,
            f.SECOND_AREA_MANAGER_EMNAME,
            f.AMIBA_MANAGER_EMNAME,
            f.SUPERVISE_MANAGER_EMNAME,
            f.GUID_EMNAME,
            f.EMPLOYEE_NAME,
            f.report_date
   ORDER BY f.STORE_CODE, f.PRODUCT_SKU_CODE;

----查看物化视图日志的内容。

select * from userA.mlog$_test20210730;

select count(*) from     MLOG$_TEST20210730;

----查看物化视图

select count(*) from test20210730_mv;

----完全刷新

EXEC DBMS_MVIEW.REFRESH('test20210730_mv','c');

----快速刷新

EXEC DBMS_MVIEW.REFRESH('test20210730_mv','f');

----查看物化视图状态信息

SELECT * FROM USER_MVIEWS 
    WHERE MVIEW_NAME = 'TEST20210730_MV';
    
 select owner,mview_name,refresh_method,last_refresh_date,compile_state from user_mviews; 

----向测试表插入数据

 insert into userA.test20210730  select * from  userA.sales where rownum<1000;
 commit;

----删除物化视图日志和物化视图

drop materialized view log on test20210730; 
DROP MATERIALIZED VIEW TEST20210730_MV;

ALTER MATERIALIZED VIEW userA.TEST20210730_MV 
REFRESH FORCE ON DEMAND 
START WITH SYSDATE NEXT SYSDATE + 2/60*24;

----问题 :
设置的每2分钟自动刷新没成功。

目录
相关文章
|
9月前
|
SQL Oracle 关系型数据库
oracle学习
oracle学习
51 0
|
4月前
|
Oracle 关系型数据库 数据库
Oracle 11gR2学习之三(创建用户及表空间、修改字符集和Oracle开机启动)
Oracle 11gR2学习之三(创建用户及表空间、修改字符集和Oracle开机启动)
|
4月前
|
存储 Oracle 网络协议
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
|
4月前
|
Oracle 关系型数据库 数据库
Oracle 11gR2学习之一(安装篇)
Oracle 11gR2学习之一(安装篇)
|
4月前
|
存储 Oracle 关系型数据库
Oracle物化视图:数据的“快照”艺术
【4月更文挑战第19天】Oracle物化视图是预计算的查询结果集,存储为实际表,提升查询性能,简化复杂查询。它们用于快速访问、封装复杂逻辑,加速数据汇总和报表生成。然而,需注意基础数据稳定性、刷新策略及存储成本。物化视图是高效数据管理的工具,但需适时优化使用。
|
SQL Oracle 关系型数据库
物化视图(Oracle与PostgreSQL对比)
物化视图(Oracle与PostgreSQL对比)
|
4月前
|
Oracle 关系型数据库 数据库连接
【Oracle学习】—新建数据库连接,超详细
【Oracle学习】—新建数据库连接,超详细
|
4月前
|
Oracle 关系型数据库 数据库
【Oracle学习】—Oracle11g修改用户名与密码(一)
【Oracle学习】—Oracle11g修改用户名与密码(一)
|
Oracle 关系型数据库 数据库
查询listener的日志排除不能登录的错误使用Oracle官方提供的ova文件建立Oracle 19c学习环境
Oracle官方提供了安装好的Oracle 19c虚拟机,打包成ova文件。可以使用这个文件建立一个oracle 19c的学习环境。
155 0
|
Oracle 关系型数据库 数据库
【无标题】使用Oracle官方提供的ova文件建立Oracle 19c学习环境
Oracle官方提供了安装好的Oracle 19c虚拟机,打包成ova文件。可以使用这个文件建立一个oracle 19c的学习环境。
242 0

推荐镜像

更多