如果我有{10}列的table T
并创建物化视图日志,其中只有3列以及具有这3列的物化视图,为什么当我更新表中的任何列时(除了日志中的列)记录被插入MLOG$_T
?有没有办法避免?
由于
答案 0 :(得分:2)
不,你无法避免。日志的主要目的是识别已更改的行,而不是已更改的数据本身(尽管您也可以在日志中包含该行)。维护日志的过程并不知道可能创建的将使用日志的视图,因此它必须维护表中任何更改的日志。
这就是这样的:假设您稍后在使用其他列的同一个表上创建另一个物化视图。如果日志有用,它还必须维护有关这些行的更改的信息。毕竟,每个表只能创建一个日志。