Sql 通过应用程序提交时未更新物化视图

Sql 通过应用程序提交时未更新物化视图,sql,oracle,plsql,materialized-views,Sql,Oracle,Plsql,Materialized Views,我在生产环境中面临一个主要问题,在这个环境中,我引入了一个带有视图日志的物化视图,以便在提交到主表时刷新。我用sqldeveloper对此进行了测试,效果非常好 但是,当使用我的应用程序(使用iBatis提交到表)更新基础表时,物化视图不会用新值更新 有人能告诉我这里可能有什么问题吗 感谢您在这方面的帮助首先,请查看。指示可用的快速刷新类型 然后找到两个上下文使用的确切SQL语句,比较它们,看看它们的差异是否与MV_CAPABILITIES_表中任何可能的='N'行有关 这里有一个猜测:在SQL

我在生产环境中面临一个主要问题,在这个环境中,我引入了一个带有视图日志的物化视图,以便在提交到主表时刷新。我用sqldeveloper对此进行了测试,效果非常好

但是,当使用我的应用程序(使用iBatis提交到表)更新基础表时,物化视图不会用新值更新

有人能告诉我这里可能有什么问题吗

感谢您在这方面的帮助

首先,请查看。指示可用的快速刷新类型

然后找到两个上下文使用的确切SQL语句,比较它们,看看它们的差异是否与MV_CAPABILITIES_表中任何可能的='N'行有关


这里有一个猜测:在SQLDeveloper中,您使用的是单个INSERT语句,而iBatis使用的是INSERT和UPDATE的组合。INSERT=Y之后刷新\u FAST\u,但在\u ANY\u DML=N之后刷新\u FAST\u。

首先,查看。指示可用的快速刷新类型。然后找到两个上下文使用的确切SQL语句,比较它们,看看它们的差异是否与MV_CAPABILITIES_表中任何可能的='N'行有关。这里有一个猜测:在SQLDeveloper中,您使用的是单个INSERT语句,而iBatis使用的是INSERT和UPDATE的组合。INSERT=Y之后刷新\u FAST\u,但任何DML=N之后刷新\u FAST\u。@jonearles谢谢你的建议。我相信你在这种情况下可能是对的。让我按照你提出的方法来研究这一点。我还想知道一件事。完全刷新会减慢速度吗?我只是想知道,如果快速刷新是不可能的,那么唯一的可能就是完全刷新,不是吗?是的,完全刷新会比增量刷新慢。这是仅有的两种可能性。嗨,乔恩厄尔斯。你是对的。你能把你的评论作为一个答案吗?我会接受的。再次感谢您,很抱歉更新太晚。