报表计算过程:先读取我们的sql语句,将完整的sql语句传至数据库服务器,由数据库返回数据给报表服务器,报表服务器进行数据列的扩展、汇总、关联、公式运算等计算,最终生成报表结果。现象描述:
我的sql的条件如下所示:
Where
decode(nvl('${a}','0'),'0','1',a)
=decode(nvl('${a}','0'),'0','1', '${a}')
AND decode(nvl('${b}','0'),'0','1',b)
=decode(nvl('${b}','0'),'0','1', '${b}')
and decode(nvl('${e}',0),0,1, t)
>=decode(nvl('${e}',0),0,1, '${e}')
and decode(nvl('${c}',0),0,1, t)
<=decode(nvl('${c}',0),0,1, '${c}')
在计算报表时就变成如下sql:
Where
decode(nvl('','0'),'0','1',a)
=decode(nvl('','0'),'0','1', '')
AND decode(nvl('','0'),'0','1',b)
=decode(nvl('','0'),'0','1', '')
and decode(nvl('',0),0,1, t)
>=decode(nvl('',0),0,1, '')
and decode(nvl('',0),0,1, t)
<=decode(nvl('',0),0,1, '')
这时,所有条件都成立,就会进行一次全表查询。然而该表数据比较多,要查大概100秒,查询结束报表才显示出来。ps:报表集成在项目内。
问题:
能否跳过报表计算这个过程,等我在下拉框选择完数据后(控件为4个下拉框,一个查询按钮),点击查询时,再执行sql?
@传说哥