oracle可写物化视图组,oracle 索引组织表 & 物化视图(实体化视图)

本文深入探讨了Oracle中的索引组织表(IOT)和物化视图,包括IOT的行溢出概念、pctthreshold和overflow参数的设置,以及物化视图的刷新策略如complete、fast和force。还提到了如何利用oncommit子句实现物化视图的自动刷新,以及查询重写在性能优化中的作用。
摘要由CSDN通过智能技术生成

oracle 索引组织表 & 物化视图(实体化视图)

索引组织表

create table employee

(empid number(10) not null primary key,name varchar2(20),mobile varchar2(20)

)

organization index

pctthreshold 20

overflow tablespace abc

由于叶块中存储太多信息导致性能问题,因此引入了行溢出的概念.通过设置行溢出值,可以将非主键列移到另一个表空间的另一个段中.下列关键字设置确定行溢出的处理方法:

* pctthreshold 确定iot叶块中为iot行保留的空间百分比,有效值为0-50

* including 确定iot块中保存到的切换点,只要其不超过pctthreshold.指定列之后的任何列存放在overflow表空间.

* overflow 这个字句指定iot行溢出部分的表空间和存储参数.过多的使用overflow表可能抵消性能.

9i中,可以为iot表生成位图索引.

物化视图(实体化视图):

create materialized view

sales

build immediate refresh fast

enable query rewrite

as select * .....

刷新方式:

* complete 截断表并执行视图查询,读取基础表行建立实体化视图.

* fast   这个方法只处理上次刷新以来基础表中的改变,用基础表实体化视图日志或直接夹在日志进行刷新.

* force 表示已是使用快速方法,如果行不通则使用完全刷新

* never 不刷新.

自动刷新方式:

通过设置on commit 子句配置,使基础表中实现的强制实体化视图快速刷新.刷新是异步的,因此不会减慢基础表中的事物.也可用start with 与 next子句建立自动刷新计划.

手工刷新 使用on demand子句,然后用dbms_mview包中的过程更新视图.

查询重写

需设置query_rewrite_enabled参数.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值