oracle 数据仓库 特性,Oracle 10g R2特性之数据仓库和集成特性(一)

分区更改跟踪:不需要MV日志

要了解此增强功能,首先必须了解物化视图(MV)刷新过程中的分区修整概念。

假设基于列ACC_MGR_ID对表ACcountS 进行了分区,每个ACC_MGR_ID值一个分区。您根据ACcountS 创建了一个名为ACC_VIEW的MV,该MV也根据列ACC_MGR_ID进行了分区,每个 ACC_MGR_ID 一个分区,如下图所示:

20080622190215698.gif

假设已经更新了表ACcountS中的记录,但只在分区P1中进行了此更新。要快速刷新此MV,您只需刷新分区P1而非整个表,这里正是与 ACC_MGR_ID 相关的数据所在的分区。Oracle 自动执行此任务,通过一个名为分区更改跟踪 (PCT) 的特性跟踪对分区的更改。但有一个问题需稍加注意:要在快速刷新的过程中启用 PCT,必须创建MV日志,当表中的行发生变化会填充这些日志。发出刷新命令后,刷新进程将读取 MV 日志以识别这些更改。

不用说,该要求增加了操作的总执行时间。此外,附加的插入操作将消耗CPU周期和 I/O 带宽。

幸好,在Oracle数据库10g第2版中,PCT不需要MV日志即可工作。让我们看一看它的作用方式。首先,确认表 ACcountS 中没有 MV 日志。

SQL> select *

2  from dba_mview_logs

3  where master = ’ACcountS’;

no rows selected

现在,更新该表中的某个记录。

update accounts set last_name = ’…’

where acc_mgr_id = 3;

该记录位于分区P3中。

现在,您就可以刷新此MV了。但首先记录表ACcountS所有段的段级统计信息。稍后,您将使用这些统计信息了解使用了哪些段。

select SUBOBJECT_NAME, value from v$segment_statistics

where owner = ’ARUP’

and OBJECT_NAME = ’ACcountS’

and STATISTIC_NAME = ’logical reads’

order by SUBOBJECT_NAME

/

SUBOBJECT_NAME                      VALUE

—————————— ———-

P1                                   8320

P10                                  8624

P2                                  12112

P3                                  11856

P4                                   8800

P5                                   7904

P6                                   8256

P7                                   8016

P8                                   8272

P9                                   7840

PMAX                                  256

11 rows selected.

使用快速刷新刷新物化视图 ACC_VIEW。

execute dbms_mview.refresh(’ACC_VIEW’,’F’)

’F’ 参数指示快速刷新。但如果表没有 MV 日志,它是否可以起作用?

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget

官方微博

TechTarget中国

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值