Oracle物化视图日志

时间:2012-01-17 22:13:20

标签: oracle materialized-views

如果我有{10}列的table T并创建物化视图日志,其中只有3列以及具有这3列的物化视图,为什么当我更新表中的任何列时(除了日志中的列)记录被插入MLOG$_T?有没有办法避免?

由于

1 个答案:

答案 0 :(得分:2)

不,你无法避免。日志的主要目的是识别已更改的行,而不是已更改的数据本身(尽管您也可以在日志中包含该行)。维护日志的过程并不知道可能创建的将使用日志的视图,因此它必须维护表中任何更改的日志。

这就是这样的:假设您稍后在使用其他列的同一个表上创建另一个物化视图。如果日志有用,它还必须维护有关这些行的更改的信息。毕竟,每个表只能创建一个日志。