oracle物化视图的刷新机制

 

Oracle在刷新的时候,先进行删除操作,然后是更新和插入操作;

对于更新和插入操作,Oracle是按照主键顺序进行的;

Oracle采用行级批量更新的方式来提高效率;

Oracle会过滤掉同一条记录的相同字段的多次重复修改;

Oracle在处理SQL的时候采用了缓存CURSOR的方法,不考虑LOB对象的情况,物化视图的刷新只需要分析一条INSERT、一条UPDATE和一条DELETE语句。这也是Oracle没有考虑字段级的一个原因;

对于LOB字段,Oracle采用了单独处理的方式,通过读取物化视图的CHANGE_VECTOR$$列获取UPDATE操作是否修改LOB列的信息,如果包含了LOB字段的修改,那么对LOB列单独处理。INSERT语句在处理完普通字段后,也包含一个对LOB字段的单独的更新操作。

物化视图的刷新特点也印证了Oracle文档上是关于将UPDATEINSERT操作分别进行、分别刷新的描述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值