sql 페이지 방식 및 효율 비교

6820 단어 sql
오 랜 만 에 데이터베이스 페이지 를 조작 하 다 보 니 이 글 http://www.cnblogs.com/iamowen/archive/2011/11/03/2235068.html 을 보고 감명 을 받 았 고, 만장 고 층 건물 평지 에 기 초 를 닦 은 동 동 은 항상 준비 하고 있 었 다.
--------------   100w     4'50'’
declare @i int
set @i=0
while @i<1000000
begin
insert into pagetest select cast(floor (rand()*1000000 )as int ), left( newid() ,10),getdate()
set @i=@i+1
end
------------- 16500 -17500
select *from dbo.pagetest
row_number() ( 99000-100000 1001 )
--------------- 1
select * from(select row_number() over (order by id) rownumber,* from pagetest )a
where rownumber between 99000 and 100000
-------------- 2
select *from (select row_number() over (order by id))rownumber,*from pagetest)a
where rownumber>99000 and rownumber<=100000
------------- 3
select top 1001 from (select row_number()over (order by id ) rownumber,*from pagetest)a
where rownumber>=99000

declare @begintime datetime
declare @endtime datetime
select @begintime=getdate()
---sql
select * from(select row_number() over (order by id) rownumber,* from
select @endtime=getdate()
select datediff(ms,@begintime,@endtime)as' '

5
1
--436 436 440 420 423

2
--453 436 436 436 436

3
--483 436 470 466 483


좋은 웹페이지 즐겨찾기