一、设计原理阐述
数据查询分页,这个功能相信大家都很熟悉,通过数据库或其它数据源进行查询操作后,将获得的数据显示到界面上,但是由于数据量太大,不能一次性完全的显示出来,就有了数据分页的需求。这个需求在实际开发过程中还是普遍存在的,也给出了不同的实现,正常的的几种思路有:
1、一次性将所有要查询的数据查询出来,然后在客户端处理,分页显示相应的数据。
2、每次只取我所需要的那部分数据,在服务器端分页完成后,再发送到客户端显示。
在asp.net中,GridView控件自带的分页功能,就是引用了第一种思路,但是这个方法有很大的弊端,每次请求都是将所有的数据,一次性的读入到DataTable或DataSet或其它集合当中,然后再分区间显示出来,显然造成网络资源的紧张。而如果在服务器端将数据已经分好页,再传送,网络资源显然压力大幅度减少,这样子就提高了查询的效率。
如果在思路2的基础上,再进行优化,还可以有以下几种思路:
1)通过SQL语句分页
2)引用动态SQL语句进行分页
3)引用存储过程进行数据分页
显然这里推荐第3种解决方案,理由是:存储过程由于在服务器端数据库已经预先编译好,