我有一个按需刷新的Oracle物化视图。由于视图很大,因此需要一段时间才能更新。我想知道:什么时候真正对尝试读取该视图的查询真正显示更新? RDBMS是否在缓冲区中更新视图,然后在更新完成后使其可见?还是读者会逐渐看到这些变化?这可以控制吗?
答案 0 :(得分:0)
可以根据提交或按需刷新材料化的视图。 Oracle的文档非常好
https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6002.htm#i2116410
要使物化视图逐渐刷新,必须使用FAST选项,并且必须具有物化视图日志来捕获源表上的更改。
如果您频繁安排所需的刷新,则每次刷新的工作将减少。如果您不太频繁地安排它们,将有更多工作要做。您需要调查源表上的更改如何随时间分布以进行选择。
提交刷新(无论大小)后,更改将对用户可见。