首页 > 解决方案 > MVIEW 快速刷新总是在递增之前从主表执行选择计数(*)

问题描述

Oracle 版本:Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

目前有一个 mview 刷新问题,其中一个小的 mview 日志需要很长时间才能添加到 mview,因为select count(*) from [table]它每次启动时都会执行。

经过进一步检查,我注意到该表USER_MVREF_CHANGE_STATS的 NUM_ROWS 列填充了上述行数,我认为这些行数来自select count(*)每次发生的情况。我们还注意到和中DBA_MVREF_STATS包含值。INITIAL_NUM_ROWSFINAL_NUM_ROWS

我们的想法是将这种刷新恢复到它应该花费的时间,即大约 30 秒与现在的 1-2 小时。

知道为什么会发生这种情况以及如何解决吗?我怎样才能阻止这种select count(*)情况发生?

标签: databaseoracledatabase-administration

解决方案


推荐阅读