好久沒有運算元據庫分頁了,在看了這篇文章(後,感觸很深,萬丈高樓平地起基礎的東東還是時刻準備著。
--------------先插入100w條資料用時4'50'』
declare
@iint
set@i=0
while
@i<
1000000
begin
insert
into pagetest select
cast(floor (rand()*
1000000 )as
int ), left( newid() ,10),getdate()
set@i=@i
+1end--
-----------單機完全查詢總耗時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
and100000
--------------分頁方案2
select
*from (select row_number() over (order
by id))rownumber,*
from pagetest)a
where rownumber>
99000
and rownumber<=
100000
-------------分頁方案3
select
top1001
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
幾種常見SQL分頁方式效率比較
1.建立測試環境,插入100萬條資料大概耗時5分鐘 create database dbtest use dbtest 建立測試表 create table pagetest id int identity 1,1 not null,col01 int null,col02 nvarchar 50 ...
幾種常見SQL分頁方式效率比較
1.建立測試環境,插入100萬條資料大概耗時5分鐘 create database dbtest use dbtest 建立測試表 create table pagetest id int identity 1,1 not null,col01 int null,col02 nvarchar 50 ...
幾種常見SQL分頁方式效率比較
1.建立測試環境,插入100萬條資料大概耗時5分鐘 create database dbtest use dbtest 建立測試表 create table pagetest id int identity 1,1 not null,col01 int null,col02 nvarchar 50 ...