Oracle Apex报表性能问题:绑定页面项后查询耗时剧增求助
Oracle Apex报表使用页面项替代硬编码变量后性能骤降问题
我有一份报表在SQL Developer中运行耗时约3秒。将该报表复制到Oracle Apex中,WHERE子句硬编码变量时加载耗时基本相同;但替换为页面项后,报表加载耗时超过2分钟。这两个传入查询的变量对应已建立索引的主键列,理论上应大幅提升处理速度。
已尝试的解决方法
- 在报表的“Page items to submit”中指定页面项
- 测试交互式报表和经典报表两种类型
- 使用文本字段和数字字段两种页面项(变量值为数字类型)
- 通过按钮提交页面存储页面项会话状态后再运行报表
- 关闭页面项的“Store value encrypted in session state”选项
- 在报表属性中设置“Maximum rows to process”=50
- 从头重新创建页面
调试日志信息
调试日志显示,查找最优执行计划耗时约6秒,获取行数据耗时超过150秒(按设计仅需返回1行数据)。执行计划调试日志末尾出现异常提示:
NOTE: cannot fetch plan for SQL_ID: 1mh8dnvc9wq95, CHILD_NUMBER: 0 Please verify value of SQL_ID and CHILD_NUMBER; It could also be that the plan is no longer in cursor cache (check v$sql_plan)
这是否表明Apex的执行计划未被处理,导致查询未使用索引?
我不清楚遗漏了什么,这是我在诸多报表中使用过的基础功能,用于帮助用户缩短处理时间。恳请提供其他解决思路?
内容的提问来源于stack exchange,提问作者LogicallyFunky
相关产品推荐
相关产品推荐

