如何判断查询是否进行
在使用带参数模板的报表过程中会发现一个问题,当输入参数后,需要查询出的数据条数少,报表出来就比较快,要是查询出来的数据比较多,就相对较慢,如果数据量再大一点,速度就会更慢甚至会内存溢出,这样就给一些用户带来了困扰。其实一次查询出几万几十万甚至上百万的数据页面上也不方便有针对性的浏览数据,还会造成内存溢出或者服务器宕机等问题。所以有没有办法可以让查询按钮在数据量大的时候就不进行查询呢?
这个问题的思路是在点查询按钮后执行查询的方法之前,先按照输入的参数去数据库查询一下数据条数,如果大于规定的值就跳出,否则则继续查询。本文简单介绍一下,如何实现这个功能。
第一步:获取数据库连接查询数据条数并与设置的允许查询的最大值比较
如图所示,count.xml是设置允许查询的最大值的文件,这个值设置在一个XML文件中是为了让用户根据服务器虚拟内存等去自行设置。如果这个值大于数据库中查询出的数据总条数,页面输出一个值,否则输出另一个值。
第二步:jQuery Ajax的异步调用:
如图所示,当接收到页面的值为yes时,执行查询方法,否则跳转到指定的url。