码迷,mamicode.com
首页 > 数据库 > 详细

sql 分页查询

时间:2018-02-07 15:08:56      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:span   get   分页查询   roc   begin   开始   查询   var   --   

数据过多时sql中返回数据,开销大,用户还不一定会用到。这时使用sql分页查询,更具用户操作返回对应的数据就能极大程度提高效率。

分页有多种方法:top in、exist、row_number()等,在此只叙述相对高效的

max/top  分页方式

1.原始的

  select * from dbo.pagetest where id >(select max(id) from (select top(9900) id from dbo.pagetest order by id)a) order by id

2.封装存储过程

 create Proc pageSeparate(
 @count int, -- 数据条数
 @tabName nvarchar(50), --表名
 @pageIndex int --区间 多少也开始查询
)
as
begin
 declare @sqlStr nvarchar(max)
 set @sqlStr = ‘select * from ‘+@tabName+‘ where id >(select max(id) from (select top(‘+cast((@pageIndex*@count)as nvarchar(20))+‘) id from ‘+@tabName +‘ order by id)a) order by id‘
 print @sqlStr
 exec(@sqlStr)
end

sql 分页查询

标签:span   get   分页查询   roc   begin   开始   查询   var   --   

原文地址:https://www.cnblogs.com/Innocent-of-Dabber/p/8425623.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!