看到了網上關于分頁的講解 ?對最快的分頁語句做了測試 還別說速度真快 總共6w條數據 速度確實so 快
前提是id是主鍵 或者是索引
declare @page int;--頁數
declare @PageSize int;--單頁顯示數select @page=1;
select @pageSize=1000;select top (@pageSize) * from rdrecord rd
left join Vendor Ven on rd.cVenCode =Ven.cVenCode
where
(id > (select isnull(max(id),0) from ( select top ((@page-1)*@pageSize) id from rdrecord order by id ) RDSID)
)
order by id
存儲存過程
--sql分頁存儲過程 --@sqlstr 查詢語句 --@currentpage 當前頁碼 --@pagesize每頁信息數 --返回值 ---1、記錄數 ---2、符合條件的記錄集 CREATE procedure [dbo].[PagingQuery] @sqlstr nvarchar(4000), --查詢字符串 @currentpage int, --第N頁 @pagesize int, --每頁行數 @allrecords int OUTPUT --返回的總記錄數 as set nocount on declare @P1 int, --P1是游標的id @rowcount int exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output set @allrecords=@rowcount set @currentpage=(@currentpage-1)*@pagesize+1 exec sp_cursorfetch @P1,16,@currentpage,@pagesize exec sp_cursorclose @P1 set nocount offGO
?