我有一个使用 Toplink 进行持久性和 Oracle 数据库的应用程序。最近我遇到了性能问题,尤其是在 db/query 级别。我在一堆触发器和存储过程中有一大段逻辑,写得不好,有变异触发器问题的解决方法。该应用程序已经投入生产几年了,重写此代码是最后的解决方案,考虑到获得新版本批准和其他更高优先级的官僚主义。所以我正在寻找一个快速修复。
提高性能的一种解决方案是使用绑定变量。我的问题是,在 toplink 的 session.xml 中添加 bind-all-variables 和 cache-all-statements 之后,在某个 UI 上,触发了糟糕的代码,并且在进行此配置更改之前工作得很好,我收到了这个错误:
ORA-00036: 超出最大递归 SQL 级别数 (50)
我的问题是:为什么仅在添加绑定变量设置后才显示此错误?在不更改糟糕代码的情况下,我能做些什么让它与绑定变量一起工作?