DataGrid内建分页技术原理
DataGrid内建分页技术很容易实现但数据量很大时它的方便性是以牺牲性能为代价的如果一个用户只要求个页面中每页显示条记录的第页的结果集服务器只需要发送第-行的数据即可而不是-行的完全数据默认的传送方式如图所示
图 DataGrid默认传送方式
从图中可以看出DataGrid的内建分页方法效率不高每次请求都必须把整个查询结果发送给Web服务器Web服务器再把数据分成相应的页面利用DataGrid的内建的分页方法尽管是很简单的但是由于Web应用的无序性特征一个用户每次从一个页面转向另外一个页面时DataGrid对象都被销毁并重新创建这就意味着数据库服务器每次都必须发送全部的结果集
自定义分页技术
那么如何通过自定义的分页方法来实现快速处理大量数据的结果集呢?
它比DataGrid的默认分页方法更加快速有效因为每次请求不需要把全部的数据结果都发送到Web服务器相反它只需要发送每个页面需要的那些数据集自定义的分页方法只返回所要检索的那些结果集如图所示
图 自定义分页的传送方式
从图中可以看到数据库每次只需要返回所要显示的数据记录
在ASPNET页面中执行SQL命令的方法可以是直接执行也可以先将SQL命令封装在存储过程中然后再页面中执行该存储过程执行存储过程比直接执行SQL命令稍微复杂一些但能显着提高数据库驱动的Web站点的性能每次从ASPNET页面直接执行SQL命令时都需要SQL Server对其进行解析编译和优化而存储过程只需要进行一次解析编译和优化
而这里自定义的分页方法就是使用存储过程来做分页的工作而不是由Web服务器来做
[] [] [] []