扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共4页)
SQL> select * 2 from dba_mview_logs 3 where master = 'ACCOUNTS'; no rows selected
update accounts set last_name = '...' where acc_mgr_id = 3;
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.
execute dbms_mview.refresh('ACC_VIEW','F')
SUBOBJECT_NAME VALUE ------------------------------ ---------- P1 8320 P10 8624 P2 12112 P3 14656 P4 8800 P5 7904 P6 8256 P7 8016 P8 8272 P9 7840 PMAX 256
这些段统计信息显示了在一个逻辑读取过程中选择的段。由于这些统计信息是累积的,因此您必须查看值(而非绝对值)中的更改。如果仔细查看以上值,您便会发现只有分区 P3 的值发生了变化。因此,在刷新过程中只选择了分区 P3 而非整个表,确认 PCT 能否在表即使没有 MV 日志的情况下工作。
即使在基表没有 MV 日志的情况下也可以快速刷新 MV 的能力是一个强大而有用的特性,从而允许您可以在已分区的 MV 中执行快速刷新而不会增加性能开销。我认为,该特性是 Oracle 数据库 10g 第 2 版中最有用的数据仓库增强功能。
使用多个 MV 进行查询重写
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者