澳门新萄京sql 二〇〇三/二〇〇六三种分页方法

由此SQL
查询深入分析器,显示比较:小编的下结论是:分页方案二:(利用ID大于多少和SELECT
TOP分页)效能最高,供给拼接SQL语句分页方案一:(利用Not In和SELECT
TOP分页卡塔尔国成效次之,必要拼接SQL语句分页方案三:(利用SQL的游标存款和储蓄进程分页)功效最差,可是最为通用

1.一旦有二个自动增加的id字段,则:

譬如未有主键,能够用一时表,也足以用方案三做,可是功效会低。提议优化的时候,加上主键和目录,查询功能会抓实。

  定义三个变量:Page,PageCount

经过SQL
查询深入分析器,呈现相比:笔者的定论是:分页方案二:(利用ID大于多少和SELECT
TOP分页)效能最高,必要拼接SQL语句分页方案一:(利用Not In和SELECT
TOP分页)效用次之,必要拼接SQL语句分页方案三:(利用SQL的游标存款和储蓄进度分页卡塔尔功能最差,不过最为通用

  Select top PageCount * From [tb_code] Where id>=(select min(id)
from (select top (Page-1)*PageCount+1 id from [tb_code] order by id
desc) as t) order by id desc

1.只要有三个机动拉长的id字段,则:

  原理,根据ID计算出(Page-1卡塔尔页的小不点儿值,然后用TOP关键字及可撤消难题。

概念三个变量:Page,PageCount

2.SELECT TOP 10 id,username From [tb_code] where id not in
( SELECT TOP 20000 id FROM tb_code ORDER BY username)

Select top PageCount * From [tb_code] Where id=(select min(id)
from (select top (Page-1)*PageCount+1 id from [tb_code] order by
id desc) as t) order by id desc

 
优点:此格局能够依靠表中的任三个字段排序,在三个表中有几百万条记下时,仍有异常高的效用,劣势是在大数据量的景观下作用略逊于第一种

规律,依照ID总计出(Page-1卡塔尔国页的渺小值,然后用TOP关键字及可减轻难点。

3.SELECT TOP 10 id,username From
(SELECT TOP page*pagecount id, username FROM tb_code ORDER BY
username)
DERIVEDTBL ORDER BY username DESC

2.SELECT TOP 10 id,username From [tb_code] where id not in ( SELECT
TOP 20000 id FROM tb_code ORDER BY username)

  优点:此措施能够依附表中的任一个字段排序.
  劣点是效用最低

可取:此办法能够依靠表中的任一个字段排序,在一个表中有几百万条记下时,仍然有极高的功效,劣点是在大数据量的意况下成效略逊于第一种

 

3.SELECT TOP 10 id,username From (SELECT TOP page*pagecount id,
username FROM tb_code ORDER BY username) DERIVEDTBL ORDER BY username
DESC

在SQL Server 二零零五中采纳rownum分页(rownum函数使用格局介绍)

可取:此格局能够依赖表中的任三个字段排序. 弱点是成效最低

比方说要从表USE陆风X8中查看第10到第20条之间的数据,那么SQL是那样实现的

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图