我们的一个报告经常运行,其中包含大约14,000个驱动程序。
参数的架构(在父报表中)如下所示:
<parameter name="DriverIds" class="java.util.List">
<parameterDescription><![CDATA[]]></parameterDescription>
</parameter>
select的where子句(在子报表中)如下所示:
and $X{IN, cast(e.login_id as char(12)), DriverIds}
根据Tomcat日志,14,000个选定驱动程序中只有9,628个来自子报表的实际查询。这个数字既一致又奇怪。 (如果是设计约束,我觉得它会像10000那样更圆)
如果我将实际的POST分析给jasperserver,那么所有14,000个驱动程序都会在那里进行。如果我手动编写查询,我可以选择所有14,000个驱动程序。问题似乎在jasperserver本身。
jasper对$ X {IN?底层数据库客户端是否有问题? (后者的迹象表明没有 - 从这个意义上来说,Postgres的上限似乎不会在30,000s之前开始)
答案 0 :(得分:3)