对于这个问题,我们假设物化视图具有两个表连接。
刷新此视图会同时阻止所有更新/插入。这是为了确保在刷新视图时数据是最新的。
但是为什么我们不能在执行此操作时允许更新/插入,在执行刷新之后仍然会有更新,并且在刷新期间完成更新/插入可以在下次刷新时反映。
阻止插入/更新的设计决定究竟是什么?我在这里错过了什么吗?
答案 0 :(得分:1)
这是一个微妙的。
它将物化视图锁定为自己的。不是它引用的表格;它们不会被写入锁定并可能继续正常使用。
REFRESH MATERIALIZED VIEW CONCURRENTLY
允许刷新继续进行,而不会阻止视图在SELECT
更新时按the manual进行更新。在更新大视图的一小部分时,它也可以表现得更好。