- DBCC FREEPROCCACHE
- DBCC DROPCLEANBUFFERS
一、翻页性能测试
1、Top
- select top 10 *
- from message where id not in
- (select top 20 id frommessage where classid=77 order by id desc )
- and classid=77 order by id desc
2、Max/Top
- select top 10 *
- from message where id <(select min(id) from messagewhere id in(select top 20 id
- from message where classid=77 order by iddesc) )
- and classid=77 order by id desc
3、row_number
- select top 10 * from
- (select row_number()over(order by id desc) rownumber,*from
- message where classid=77)a where classid=77 and rownumber>20
MsSql翻页性能测试
|
ID列索引
|
Top
|
Max/Top
|
row_number()
|
无索引
|
cpu
|
reads
|
duration
|
0
|
893
|
65
|
|
cpu
|
reads
|
duration
|
0
|
590
|
70
|
|
cpu
|
reads
|
duration
|
0
|
512
|
67
|
|
聚焦索引
|
cpu
|
reads
|
duration
|
0
|
37
|
66
|
|
cpu
|
reads
|
duration
|
0
|
98
|
64
|
|
cpu
|
reads
|
duration
|
0
|
28
|
67
|
|
非聚焦索引
|
cpu
|
reads
|
duration
|
0
|
895
|
63
|
|
cpu
|
reads
|
duration
|
0
|
592
|
66
|
|
cpu
|
reads
|
duration
|
0
|
514
|
66
|
|