分頁的兩種技巧

2021-04-09 09:19:43 字數 1609 閱讀 1283

分頁的兩種技巧

分頁的技巧有兩種,一種是直接透過t-sql,另一種是透過store procedure,在這post出來跟大家分享一下:

t-sql:

假設northwind有乙個customer的table,你需要取回41~50筆的記錄,t-sql語法該如何作呢?

select top 10 customerid,companyname,contactname,country from customers where customerid not in

(select top 40 customerid from customers order by country,customerid)

order by country,customerid

store procedure:

出自msdn magazine,是別人的智慧型

create procedure northwind_orderspaged

(@pageindex int,

@pagesize int)as

begin

declare @pagelowerbound int

declare @pageupperbound int

declare @rowstoreturn int

-- first set the rowcount

set @rowstoreturn = @pagesize * (@pageindex + 1)

set rowcount @rowstoreturn

-- set the page bounds

set @pagelowerbound = @pagesize * @pageindex

set @pageupperbound = @pagelowerbound + @pagesize + 1

-- create a temp table to store the select results

create table #pageindex

(indexid int identity (1, 1) not null,

orderid int

)-- insert into the temp table

insert into #pageindex (orderid)

select

orderid

from

orders

order by

orderid desc

-- return total count

select count(orderid) from orders

-- return paged results

select

o.*from

orders o,

#pageindex pageindex

where

o.orderid = pageindex.orderid and

pageindex.indexid > @pagelowerbound and

pageindex.indexid < @pageupperbound

order by

pageindex.indexid

end

MS SQL 兩種分頁

row number row number declare pagesize int,pageindex intset pagesize 20 set pageindex 2 select from select row number over order by byod zzfp.id desc ...

java分頁的兩種方式

方式其實都非常的簡單,一種是資料庫分頁用limit限制取出條數,一種是在業務邏輯裡面分頁,我用的是jdbc,所以每次游標指定到一定的條數進行展示。因為只是簡單的進行原理學習,所以並沒有對 方面對嚴格的書寫,明白原理就好。主要的地方就是在進行資料庫查詢的時候,假設有一張表flownode,sql語句如...

lucene的兩種分頁操作

基於lucene的分頁有兩種 lucene3.5之前分頁提供的方式為再查詢方式 每次查詢全部記錄,然後取其中部分記錄,這種方式用的最多 lucene官方的解釋 由於我們的速度足夠快。處理海量資料時,記憶體容易記憶體溢位。這就是先查詢所有的資料,然後去分頁資料 注意 這種方式處理海量資料的時候,容易記...