• 数据分页技术(学习笔记)


        最近学习了WebCast中的数据分页技术,现把相关知识点归纳如下,便于以后总结复习:

    一、 数据分页概述:

    1.通常在Web页面,在显示数据量比较大时,无法在一个页面上显示所有的数据。

    2.在某些特定场景下,并不需要返回所有满足条件的数据。

    3.从数据的角度看,需要返回指定范围内的数据。

    二、分页技术

    1.数据层技术:

    在数据库查询时,只查询特定页面的数据

    主要由T-SQL来完成

    适用于比较大的数据表

    优点:返回的结果集小,查询速度快

    缺点:需要多次查询数据库

    1.1 使用临时表

    在查询数据前,创建一个临时表

    表的列比要返回的结果多一个标识列

    按照特定列排序,将结果插入到临时表中

    此时,可以按照标识列返回特定页面

    1.2 使用表变量

    在查询数据前,创建一个表变量

    表的列比要返回的结果集多一个标识列

    按照特定列排序,将结果插入到表变量中

    此时,可以按照标识列返回特定页面

    1.3 反复Top

    若要按特定列正排序取第21-30行数据.

    首先,按特定列正排序取Top 30

    然后,反向排序取 Top 10

    最后,再将结果正排序后返回

    1.4 使用行号

    在SQL Server 2005/2008中,查询结果集中,添加一个ROW_Number()表示行号

    将上述结果集作为子查询,通过Row_Number()筛选出特定页面。

    2.应用层分页

    在应用层/逻辑层缓存数据,并进行数据的分段显示

    主要由程序代码完成

    优点:查询数据库次数少,每次返回的结果快

    缺点:第一次查询慢,占用应用层内存资源

    2.1 GridView+DataSource

    2.2 DataPage+ListView

    3.3 Linq中的Skip和Take方法

    3.展示层分页

    在客户端进行数据分页

    主要通过客户端脚本来实现

    优点:减少网络传输量,提高带宽利用率

    缺点:需要编写大量的客户端脚本,增加开发与维护成本

    3.1 UpdatePanel

    通过Asp.net Ajax中的UpdatePanel控件,可以将应用层所提供的分页功能转换到客户端

    无需维护代码,充分利用服务器端控件的功能。

    3.2 Data Services (.net Framework 3.5)

    使用Data Services所提供的基于URI的数据访问,可以实现数据分页。

    在展示层,可以直接通过Javascript进行解析

    轻量级数据传输格式:XML/JSON

    Best Regards,

    Charles Chen

    email: gotosunny@msn.com

  • 相关阅读:
    Notes相关开发Tips
    gridView滚动条相关问题
    MyBatis学习(一)简单入门程序
    springMVC入门
    zoj 3702 Gibonacci number 找规律
    邻接表表示
    poj 1269 直线相交情况
    poj 3304 Segments 线段与直线相交的判断
    poj 1654 多边形面积
    zoj 3696 Alien's Organ 概率,泊松分布
  • 原文地址:https://www.cnblogs.com/Charles2008/p/1489184.html
Copyright © 2020-2023  润新知