【问题标题】:Oracle Apex performance issue due to session state values由于会话状态值导致的 Oracle Apex 性能问题
【发布时间】:2019-06-17 00:10:26
【问题描述】:

我在 Oracle Apex 中有一个长期运行的页面,这是一个交互式报告页面,它根据用户提供的 Username、From_Date 和 To_Date 参数获取报告。

用于此报告页面的查询正在 SQL 开发人员中执行,没有任何问题(0.07 秒)。当我检查Debug日志调试长期运行时,我发现日志中的语句"... do not save: same value / password / no session"是长期运行的原因。该页面永远不会加载并最终导致网关超时。给定参数的预期行数仅为 161 行。请在下面找到调试日志的屏幕截图。请帮我解决这个问题。

一开始我在调试日志中发现了一个不同的问题,这是由于'IR binding: "APXWS_MAX_ROW_CNT" value="1000000"'。后来我删除了 Maxrowcount 值并将其设为空。所以这件事被处理了。

【问题讨论】:

  • 我能够纠正这个问题。该问题与会话状态无关。当我深入研究时,我能够发现问题是由于 QUERY 造成的。也只有当它在 Oracle Apex 中呈现时,查询才会出现一些问题。 where 子句与 to_char 函数进行了列比较。我删除了这个 TO_CHAR 函数,问题一下子解决了。

标签: oracle oracle-apex oracle-apex-5.1


【解决方案1】:

一些想法;看看这些是否有帮助。

  • 如何运行报告?您是否将这些参数的“页面操作选择”设置为“提交”?
  • 如果没有,创建一个SUBMIT 按钮如何提交 页面(从而将项目的值置于会话状态)?
  • 如果您为这些项目使用来源,请尝试将它们设置为“始终使用,替换会话状态中的任何现有值”。

【讨论】:

  • 您好 Littlefoot,感谢您的帮助,我能够纠正这个问题。该问题与会话状态无关。当我深入研究时,我能够发现问题是由于 QUERY 造成的。也只有当它在 Oracle Apex 中呈现时,查询才会出现一些问题。 where 子句与 to_char 函数进行了列比较。我删除了这个 TO_CHAR 函数,问题一下子解决了。
  • 很好;很高兴你修好了。
猜你喜欢
  • 1970-01-01
  • 2015-02-16
  • 2013-04-04
  • 2017-05-11
  • 2020-06-27
  • 1970-01-01
  • 2017-12-10
  • 1970-01-01
  • 2013-04-01
相关资源
最近更新 更多