【发布时间】:2012-01-19 01:04:42
【问题描述】:
如果我有 table T 有 10 列并创建只有 3 列的物化视图日志以及具有这 3 列的物化视图,为什么当我更新表中的任何列(除了日志中的列)时,记录是插入MLOG$_T ?有没有办法避免?
谢谢
【问题讨论】:
如果我有 table T 有 10 列并创建只有 3 列的物化视图日志以及具有这 3 列的物化视图,为什么当我更新表中的任何列(除了日志中的列)时,记录是插入MLOG$_T ?有没有办法避免?
谢谢
【问题讨论】:
不,你无法避免。日志的主要目的是识别已更改的行,而不是更改的数据本身(尽管您也可以将其包含在日志中)。维护日志的过程对可能创建的将使用日志的视图一无所知,因此它必须维护日志以应对表中的任何更改。
这样:假设您稍后在使用其他列的同一个表上创建另一个物化视图。如果日志要有用,它还必须维护有关这些行的更改的信息。毕竟,每个表只能创建一个日志。
【讨论】: