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

摘要:
最近,我在WebCast中学习了数据分页技术,现在我将相关知识点总结如下,以供将来总结和回顾:1.数据分页概述:1.通常,当网页上显示的数据量很大时,所有数据都不能显示在一个页面上。

    最近学习了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

免责声明:文章转载自《数据分页技术(学习笔记)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇脚本程序gdb 脚本springboot 多数据源配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

react + antd Table实现表格数据合并

效果如下 其实这种情况也可以使用树形数据表格展示,但是表格合并展示,看起来更直观.反正产品说哪种展示就哪种展示吧 我这里用到两种类型的后台数据,一种是一维数组数据,一种是有层级的二维数组. 表格合并最后要用到的数据都是一维数据,所以需要对数据处理一下.这两种处理方式对data数据从后台接口获取也一样适用 上代码,项目是react+typescr...

IOS 数据存储之 FMDB 详解

http://www.cnblogs.com/jerehedu/p/4623955.html FMDB是用于进行数据存储的第三方的框架,它与SQLite与Core Data相比较,存在很多优势。 FMDB是面向对象的,它以OC的方式封装了SQLite的C语言API,使用起来更加的方便,不需要过多的关心数据库操作的知识。但是它本身也存在一些问题,比如跨平台,...

R数据挖掘 第二篇:基于距离评估数据的相似性和相异性

聚类分析根据对象之间的相异程度,把对象分成多个簇,簇是数据对象的集合,聚类分析使得同一个簇中的对象相似,而与其他簇中的对象相异。相似性和相异性(dissimilarity)是根据数据对象的属性值评估的,通常涉及到距离度量。相似性(similarity)和相异性(dissimilarity)是负相关的,统称为临近性(proximity)。 在聚类分析中,聚类...

SAS | 逻辑库和SAS数据集

目录 1 临时和永久数据集 2 通过LIBNAME语句使用永久SAS数据集(libname) 3 通过直接引用使用永久SAS数据集('路径+名称') 4 列出SAS数据集中的内容(contents) 1 临时和永久数据集 SAS数据集名称 SAS数据集有临时和永久两种存在方式。所有的SAS数据集都有一个两级名称,两个层级之间用句点.分隔。 第一层...

mysql 数据库存储路径更改

使用了VPS一段时间之后发现磁盘空间快满了。本人的VPS在购买的时候买了500gb的磁盘,提供商赠送了20GB的高性能系统磁盘。这样系统就有两个磁盘空间了。在初次安装mysql 的时候将数据库目录安装在了系统盘。(第一个磁盘)使用了一段时间之后数据库存储量变大,快将20GB的存放空间占满了。因此必须将存放数据空间换地方了。嘿嘿下面是简单的操作了,不合理之处...

使用 Cesium 动态加载 GeoJSON 数据

前言 需求是这样的,我需要在地图中显示 08 年到现在的地震情况,地震都是发生在具体的时间点的,那么问题就来了,如何实现地震情况按照时间动态渲染而不是一次全部加载出来。 一、 方案分析 这里面牵扯到两个问题:第一个是如何加载 GeoJSON 格式的数据,其实也就是矢量数据,因为矢量数据之间是可以任意转换的;第二个是如何让加载的数据根据自身的时间显示。 所以...