and application in case of client \ server application also reduce the load of traffic between
client and application server. One of the known methods is Paging .
In a simple example below, I'll show you how to implement Paging method at SQL 2005
server side.
Create and fill temporary table #someTable for example :
create table #someTable(RecordKey int,FieldA int, FieldB nvarchar(50))
insert into #someTable(RecordKey,FieldA , FieldB)values(1,5,'a')
insert into #someTable(RecordKey,FieldA , FieldB)values(2,4,'ab')
insert into #someTable(RecordKey,FieldA , FieldB)values(3,3,'abc')
insert into #someTable(RecordKey,FieldA , FieldB)values(4,2,'abcd')
We'll use page size=2 ,FieldA as sort field and page number = 1
DECLARE @PageSize INT
DECLARE @RequestPageNumber INT
set @RequestPageNumber = 1
set @PageSize = 2
DECLARE @FromKey INT
DECLARE @ToKey INT
set @ToKey = (@PageSize * @RequestPageNumber)
set @FromKey = @ToKey - @PageSize + 1;
;WITH SortedTable As
(
SELECT
ROW_NUMBER() OVER (ORDER BY FieldA) as RowNumber,
RecordKey,
FieldA,
FieldB
FROM #someTable
)
SELECT
RecordKey,
FieldA,
FieldB
FROM SortedTable
WHERE RowNumber BETWEEN @FromKey AND @ToKey
The result as you can see two rows sorted by FieldA :
The example showed us the MS SQL 2005 server side implementation of paging technique
the application server/client paging techniques is another post issue ,but the common idea
identical to this one that implemented here.
No comments:
Post a Comment