先看下表中共有多少條數據:
一百二十多萬條,呵呵。
sql語句:
declare @d datetime set @d = getdate () select top 10 ID,U_Name,U_Age,U_Sex,U_Address from Test1 where ID not in ( select top 9990 ID from Test1 order by ID) order by ID select [ not in方法升序分頁執行花費時間(毫秒) ] = datediff (ms, @d , getdate ()) declare @s datetime set @s = getdate () select top 10 ID,U_Name,U_Age,U_Sex,U_Address from Test1 where ID >= ( select max (ID) from ( select top 9991 ID from test1 order by ID) as T) order by ID select [ Max方法升序分頁執行花費時間(毫秒) ] = datediff (ms, @s , getdate ()) declare @t datetime set @t = getdate () select top 10 ID,U_Name,U_Age,U_Sex,U_Address from Test1 where ID not in ( select top 9990 ID from Test1 order by ID desc ) order by ID desc select [ not in方法降序分頁執行花費時間(毫秒) ] = datediff (ms, @t , getdate ()) declare @q datetime set @q = getdate () select top 10 ID,U_Name,U_Age,U_Sex,U_Address from Test1 where ID <= ( select min (ID) from ( select top 9991 ID from Test1 order by ID desc ) as T) order by ID desc select [ Min方法降序分頁執行花費時間(毫秒) ] = datediff (ms, @q , getdate ())
分頁效率一目了然!
兩種方法的不同點之一就是計算第二個top中的值
not in 中計算公式為:
pgSize * (pgNo - 1 )
max\min中計算公式為:
((pgNo - 1 ) * pgSize + 1 )
pgNo為當前第幾頁,pgSize為每頁幾條數據。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
