Oracle物化视图3 - Prebuilt MV
来源:互联网 发布:安卓人肉软件 编辑:程序博客网 时间:2024/05/19 10:13
介绍
Oracle中,Prebuilt MV建立在同名的普通表上。Prebuilt MV的列是该同名表的列的一个子集。也就是说,该同名表可以包含不在MV中出线的列(Unmanaged columns)。
在MV刷新时,这些列的值采用默认值。假如没有定义默认值,这些列可以不能有Not Null约束。
与普通物化视图相比,Prebuilt MV提供的Query Rewrite功能有限。只有当Query_Rewrite_Integrity为trusted或Stale_Tolerated时,Prebuilt MV可以被Oracle Query Rewrite所使用。
与普通MV不同,当用户删除(Drop)MV时,该同名表不会被删除。在建立了Prebuilt MV后,该同名表不能用drop table xxx语句删除。
例子
下面是Oracle自带SH Schema中一个Prebuilt MV的例子:
CREATE MATERIALIZED VIEW CAL_MONTH_SALES_MVON PREBUILT TABLEUSING INDEXREFRESH ON DEMANDFORCEUSING DEFAULT LOCAL ROLLBACK SEGMENTENABLE QUERY REWRITE ASSELECT t.calendar_month_desc , sum(s.amount_sold) AS dollars FROM sales s , times t WHERE s.time_id = t.time_id GROUP BY t.calendar_month_desc;
Alter Prebuilt MV
当需要在MV里新增一列时,普通物化视图需要重建(drop materialized view, create materialized view),数据量大时,成本相当高。但是Prebuilt MV没有这一缺陷。因为删除物化视图时,同名表仍然存在。下面给出一个例子:
desc cal_month_sales_mvName Null Type ------------------- -------- ----------- CALENDAR_MONTH_DESC NOT NULL VARCHAR2(8) DOLLARS NUMBER
Drop materialized viewcal_month_sales_mv;materialized view CAL_MONTH_SALES_MV dropped.
alter table cal_month_sales_mv add(quantity_sold number default 0);
table CAL_MONTH_SALES_MV altered.
CREATE MATERIALIZED VIEW CAL_MONTH_SALES_MVON PREBUILT TABLEUSING INDEXREFRESH ON DEMANDFORCEUSING DEFAULT LOCAL ROLLBACK SEGMENTENABLE QUERY REWRITE ASSELECT t.calendar_month_desc , sum(s.amount_sold) AS dollars , count(s.quantity_sold) as quantity_sold FROM sales s , times t WHERE s.time_id = t.time_id GROUP BY t.calendar_month_desc;
materialized view CAL_MONTH_SALES_MV created.
desc cal_month_sales_mvName Null Type ------------------- -------- ----------- CALENDAR_MONTH_DESC NOT NULL VARCHAR2(8) DOLLARS NUMBER QUANTITY_SOLD NUMBER
0 0
- Oracle物化视图3 - Prebuilt MV
- oracle mv物化视图入门
- 物化视图 on prebuilt table
- 使用 on prebuilt table 创建物化视图
- 使用物化视图来同步数据on prebuilt table
- 使用物化视图的prebuilt功能迁移大表
- ORACLE物化视图-物化视图日志结构
- oracle的物化视图
- oracle的物化视图
- ORACLE中的物化视图
- Oracle的物化视图
- Oracle 物化视图
- Oracle 物化视图
- Oracle的物化视图
- ORACLE中的物化视图
- Oracle的物化视图
- Oracle物化视图语法
- oracle物化视图刷新
- android采用pull解析器解析和生成XML
- glRasterPos2f与字体位置
- HttpWebRequest - Asynchronous Programming Model/Task.Factory.FromAsyc
- linux Posix线程同步(条件变量) 实例
- ZOJ-1045
- Oracle物化视图3 - Prebuilt MV
- Ubuntu 13.04 服务器版本系统安装图解教程
- Java程序员必知的常用工具集
- ZOJ-1068
- 详解iPhone应用程序 多语言支持操作
- [LeetCode]LRUcache题解(不使用STL容器)
- Server returned HTTP response code: 500 for URL
- coldblocks在linux下安装
- 手机轻轻松松的操作就能很好的记录下生活重的点点滴滴了