下面就是大數據量時提高分頁的效率的測試代碼,分享給大家。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
--提高分頁效率:實現分頁時只讀取顯示數據,需要先在數據庫創建數據庫“TestForPaging” use TestForPaging go --創建表SomeData create table SomeData ( id int primary key , name varchar (30) null , description text ) go --插入數據 insert into SomeData values (1, 'num1' , '第1條' ) go insert into SomeData values (2, 'num2' , '第2條' ) go insert into SomeData values (3, 'num3' , '第3條' ) go insert into SomeData values (4, 'num4' , '第4條' ) go insert into SomeData values (5, 'num5' , '第5條' ) go --數據條目總數 select count (*) from SomeData go --給每條記錄添加一個數據級別 select name ,description,ROW_NUMBER() over( order by id desc ) as dataLevel from SomeData go --查看指定的數據級別間的數據條目 select dataLevel, name ,description from ( select name ,description,row_number() over( order by id desc ) as dataLevel from SomeData) as datawithleverl where dataLevel between 2 and 4 go --實現查看指定的數據級別間的數據條目的存儲過程 create procedure GetDataPaged ( @startRowIndex int , @maximumRows int , @sort varchar ) AS --確保指定sort if len(@sort)=0 set @sort= 'id' --帶參數的查詢 select dataLevel, name ,description from ( select name ,description,row_number() over( order by @sort desc ) as dataLevel from SomeData) AS datawithleverl WHERE dataLevel > (@startRowIndex*10) AND dataLevel <= (@startRowIndex*10 + @maximumRows) go |
以上就是本文的的全部內容,希望對大家的學習有所幫助。