首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

转:ASE中数据结果集分页效能的三种实现方法

2012-08-29 
转:ASE中数据结果集分页功能的三种实现方法 .转:http://blog.csdn.net/andkylee/article/details/5638033?

转:ASE中数据结果集分页功能的三种实现方法 .

转:http://blog.csdn.net/andkylee/article/details/5638033

?

本篇介绍三种方法。

?

第一种:利用游标

程序开发人员比较喜欢使用游标,因为游标的“循环”遍历方式类似编程语言中的for,while,loop语句的实现方法,写起来比较容易。使用游标一般步骤是:为指定的SQL语句定义一个游标,打开并移动游标,当移动到指定行号的记录行之后,再按照需要提取的行数来取数据。从表面上看解决了提取指定范围数据的问题;但是在实际1> declare @id1 int2> set rowcount 90003> select @id1 = id from testA where name='andkylee'4> set rowcount 105> select *from testA where name='andkylee' and id >= @id16> set rowcount 07> go(9000 rows affected) id name ----------- ------------------------------ 74076 andkylee 74514 andkylee 74053 andkylee 74385 andkylee 74339 andkylee 74792 andkylee 74794 andkylee 74984 andkylee 75052 andkylee 74138 andkylee(10 rows affected)1>

?

?

可以发现这个两句的结果是不同的。

?

我想既然都要求返回指定范围的结果集, 肯定是有排序的依据了, 否则怎么知道该返回哪个范围呢?

?

还有,我给出的第三种方法,在进行表扫描的时候,即使不指定排序,也是能够得到正确结果的。因为表扫描时很可能会按照表内数据在物理页面上的物理位置来返回结果。

热点排行