有关 SQLserver + JavaWeb端 多条件结果集 分页显示 的一点总结
三种实现多条件结果集分页的方式,可能还有其他方法:
1.每次取查询结果的所有数据,然后根据页码显示指定的纪录。
2.根据页面只取一页数据,然后显示这一页,这里要构造sql语句。
3.取一定页数的数据,就是前面两种的折中。
PS:
在这里要注明一下,是先进行条件检索,再分页。由于所使用的数据库是SQLserver 2008,不像其他数据库分页用limit字段可以方便的实现。所以过程有些复杂。
第一种方法:
SQLserver实现条件检索得到所有结果,再把所有结果传到服务器端,再用写Java文件处理分页,显示到Web端。
优点:
这相当于把一件事分成两部分去做,这种处理将事务的处理拆分,降低了耦合性。并且实现比较简单,而且由于所有结果都在服务器上了,查询速度会比较快。
缺点:
占用服务器内存多一些,网络传输数据多。
适合:
数据量比较少的查询比较合适,要考虑到服务器压力。
第二种方法:
SQLserver实现条件检索得到所有结果并分页,再把指定页数据传到Web端显示。
优点:
占用服务器内存少,且网络传输数据少
缺点:
相当于把压力全集中在了数据库端,这样对数据库的压力大。这类SQLserver语句构造复杂,因为在SQLserver中新条件的加入不能跟在原语句尾部就可以执行,得仔细想想。
适合:
数据库性能良好,能经得起折腾。
第三种方法:
就是前边两种方法的综合,SQLserver实现条件检索得到所有结果,传一定量(多页)的数据到服务器端,再用写Java文件处理分页,显示到Web端。
优点:
占用内存相对不多,提高平均查询速度。即对各端的压力都不大,比较均衡。
缺点:
实现起来更加复杂,可能存在脏数据,需要自己定义一个缓存集合。如果查询的数据量比较大,可以考虑采用这样方式。
适合:
估计是采用得比较普遍吧。