SQL SERVER 大資料的分頁【測】

來源:互聯網
上載者:User

標籤:

我用五百萬的資料來測試,有興趣的大家可以試試千萬級的;

1、先添加大量資料

    SQL SERVER 百萬級資料測試【測】

2、普通 分頁

A、ROW_NUMBER()OVER

SELECT  *FROM    ( SELECT    ROW_NUMBER() OVER ( ORDER BY T.UserID ) AS row ,                    *          FROM      Users AS T        ) AS TTWHERE   TT.row BETWEEN 999000 AND 1000000;

測:【百萬級】第一頁時間:126MS, 100W的時間 1073MS, 接近第一頁10倍,500W的時間 58696MS 100W的55倍,第一頁的466倍。

B、兩次TOP分頁 

SELECT TOP 1000 *FROM    UsersWHERE   UserID NOT IN ( SELECT TOP ( 1000 * ( 5000 - 1 ) )                                UserID                        FROM    Users                        ORDER BY UserID )ORDER BY UserID; 

 測:【百萬級】第一頁時間:140MS, 100W的時間 1190MS,500W的時間 5526MS 100W的5倍,第一頁的39倍。

 為什麼我測試的擷取(500W)時,TOP  TOP 要比ROW_NUMBER()效率更好一些呢? 

 最起碼:100W以內的資料可以採用ROW_NUMBER()這樣的分頁,更優雅效率也稍微好一些,勉強可以接受的,資料再大些,如何最佳化代碼也無濟於事的,這牽扯的是資料庫的計算能力,類似這兩種的都PASS。

2、最佳化分頁(第一次

 

SQL SERVER 大資料的分頁【測】

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.