我正在使用JasperSoft Reports v.6.2.1,在Studio预览中运行报告时,输出在2秒后出现。
在服务器上运行相同的报告(输出xlsx)需要>半分钟 - 虽然没有数据量问题(交叉表,500行,excel中有17列,“忽略分页”=真)。
我使用$P{LoggedInUsername}
来过滤WHERE
- WITH
- 子句中的数据(基于用户的权利),运行报告并实现,当使用固定时value(用户的id为字符串)而不是查询中的参数,报表执行速度很快。
与SQL Developer中的Oracle DB相同 - 具有用户id字符串的查询结果集将在2秒内恢复。
$P{LoggedInUsername}
中TextField
的输出也会产生一个字符串。
在查询中切换回$P{LoggedInUsername}
- 参数后,报告会再次耗尽年龄或在Studio /服务器中耗尽堆内存。
可能是什么问题?
答案 0 :(得分:0)
最后,我的问题在我user_id = '$P!{LoggedInUsername}'
的{{1}}中使用$P{LoggedInUsername}
而不是WHERE
来解决。