常用的数据分页技术及比较
2012-07-01 20:15
176 查看
1.数据分页概述
• 通常在Web页面中,在数据量比较大时,无法在一个页面中显示所有数据
• 在某些特定场景下,并不需要返回所有满足条件的数据
• 从数据的角度看,需要返回指定范围内的数据
2.数据层分页技术
• 在数据库查询时,只查询特定页面的数据
• 主要由T -SQL来完成
• 适用于比较大的数据表
• 优点:返回的结果集小,查询速度快
• 缺点:需要多次查询数据库
3.数据层分页技术-使用临时表
• 在查询数据前,创建一个临时表
• 表的列比要返回的结果集多一个标识列
• 按照特定列排序,将结果插入到临时表中
• 此时,可以按照标识列返回特定页面
4.数据层分页技术-使用表变量
• 在查询数据前,创建一个表变量
• 表的列比要返回的结果集多一个标识列
• 按照特定列排序,将结果插入到表变量中
• 此时,可以按照标识列返回特定页面
5.数据层分页技术-反复取Top
• 若要按特定列正排序取第91-100 行数据
• 首先,按特定列正排序取Top 100
• 然后,反向排序取Top 10
• 最后,再将结果正排序后返回
6.数据层分页技术-使用行号
• 在SQL Server 2005/2008中
• 查询结果集时,添加一个ROW NUMBER() 表示行号
• 将上述结果集作为子查询,通过ROW_NUMBER() 筛选出特定页面
7.代码如下:
View
Code
8.应用层分页技术
• 在应用层/逻辑层缓存数据,并进行数据的分段显示
• 主要由程序代码完成
• 优点:查询数据库次数少,每次返回结果快
• 缺点:第一次查询慢,占用应用层内存资源
9.应用层分页技术-GridView
• 应用GridView的分页功能
• 启用XxxDataSource 控件的缓存功能
10.应用层分页技术-DataPager
• .NET 3.5 当中的新控件
• 更加灵活定义分页格式
11.应用层分页技术-LINQ
• 自定义数据绑定
• 使用LINQ 进行查询
• 使用Skip() 和Take() 函数
12.展现层分页技术
• 在客户端进行数据分页
• 主要通过客户端脚本来实现
• 优点:减少网络传输量,提高带宽利用率
• 缺点:需要编写大量客户端脚本,增加开发与维护成本
13.展现层分页技术-UpdatePanel
• 通过ASP.NET AJAX 中的UpdatePanel 控件,可以将应用层所提供的分页功能转换到客户端
• 无需维护代码
• 充分利用服务器端控件功能
14.展现层分页技术-Data Services
• 使用Data Services所提供的基于URI 的数据访问,可以实现数据分页
• 在展现层,可以直接通过Javascript 进行解析
• 轻量级数据传输格式:XML/JSON
转载请注明出处:http://www.cnblogs.com/refactor
• 通常在Web页面中,在数据量比较大时,无法在一个页面中显示所有数据
• 在某些特定场景下,并不需要返回所有满足条件的数据
• 从数据的角度看,需要返回指定范围内的数据
2.数据层分页技术
• 在数据库查询时,只查询特定页面的数据
• 主要由T -SQL来完成
• 适用于比较大的数据表
• 优点:返回的结果集小,查询速度快
• 缺点:需要多次查询数据库
3.数据层分页技术-使用临时表
• 在查询数据前,创建一个临时表
• 表的列比要返回的结果集多一个标识列
• 按照特定列排序,将结果插入到临时表中
• 此时,可以按照标识列返回特定页面
4.数据层分页技术-使用表变量
• 在查询数据前,创建一个表变量
• 表的列比要返回的结果集多一个标识列
• 按照特定列排序,将结果插入到表变量中
• 此时,可以按照标识列返回特定页面
5.数据层分页技术-反复取Top
• 若要按特定列正排序取第91-100 行数据
• 首先,按特定列正排序取Top 100
• 然后,反向排序取Top 10
• 最后,再将结果正排序后返回
6.数据层分页技术-使用行号
• 在SQL Server 2005/2008中
• 查询结果集时,添加一个ROW NUMBER() 表示行号
• 将上述结果集作为子查询,通过ROW_NUMBER() 筛选出特定页面
7.代码如下:
View
Code
8.应用层分页技术
• 在应用层/逻辑层缓存数据,并进行数据的分段显示
• 主要由程序代码完成
• 优点:查询数据库次数少,每次返回结果快
• 缺点:第一次查询慢,占用应用层内存资源
9.应用层分页技术-GridView
• 应用GridView的分页功能
• 启用XxxDataSource 控件的缓存功能
10.应用层分页技术-DataPager
• .NET 3.5 当中的新控件
• 更加灵活定义分页格式
11.应用层分页技术-LINQ
• 自定义数据绑定
• 使用LINQ 进行查询
• 使用Skip() 和Take() 函数
12.展现层分页技术
• 在客户端进行数据分页
• 主要通过客户端脚本来实现
• 优点:减少网络传输量,提高带宽利用率
• 缺点:需要编写大量客户端脚本,增加开发与维护成本
13.展现层分页技术-UpdatePanel
• 通过ASP.NET AJAX 中的UpdatePanel 控件,可以将应用层所提供的分页功能转换到客户端
• 无需维护代码
• 充分利用服务器端控件功能
14.展现层分页技术-Data Services
• 使用Data Services所提供的基于URI 的数据访问,可以实现数据分页
• 在展现层,可以直接通过Javascript 进行解析
• 轻量级数据传输格式:XML/JSON
转载请注明出处:http://www.cnblogs.com/refactor
相关文章推荐
- 常用的数据分页技术及比较
- 常用的数据分页技术及比较
- 常用的数据分页技术总结
- 第十五天3月10日之JDBC案例、分页技术、大数据(文本、图片)存储、批处理和存储过程的调用
- 数据分页模块系列 (一) 利用工具Pager-taglib轻松实现分页技术
- 14) 常用的遍历/(条件)查找/收集数据/(拷贝2比较优先)排序算法algorithm [原创,泛型编程,自由下载转载,需注明出处]
- PHP+Mysql————数据分页显示技术
- 三种数据交换技术的比较
- 技术笔记3_Asp.net:ObjectDataSource分页计算返回数据量的方法QueryStudentsCount必须返回int
- SQL Server数据导入导出技术概述与比较
- 大数据处理常用技术有哪些?
- 【转】 常用WebServices返回数据的4种方法比较
- 常用WebServices返回数据的4种方法比较
- api数据分页的两种方式的比较
- 可伸缩架构常用技术--数据切分
- 数据可视化的实现技术和工具比较(HTML5 canvas(Echart)、SVG、webGL等等)
- elasticsearch核心知识--46.scroll技术滚动搜索大量数据以及和FromSize分页的本质区别和性能
- 可伸缩性架构常用技术——之数据切分(Data Sharding/Partition)
- ASP.NET查询分页技术:实现Web数据分页浏览
- oracle技术之oracle数据泵不同工作方式性能比较(四)