日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

MS-SQL分頁not in 方法改進之使用Max\Min

系統 1952 0

先看下表中共有多少條數據:

MS-SQL分頁not in 方法改進之使用Max\Min

一百二十多萬條,呵呵。

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
        
        ())
      

MS-SQL分頁not in 方法改進之使用Max\Min

MS-SQL分頁not in 方法改進之使用Max\Min

分頁效率一目了然!

兩種方法的不同點之一就是計算第二個top中的值

not in 中計算公式為:

        pgSize 
        
          *
        
         (pgNo 
        
          -
        
        
          1
        
        )
      

max\min中計算公式為:

        ((pgNo
        
          -
        
        
          1
        
        )
        
          *
        
        pgSize
        
          +
        
        
          1
        
        )
      

pgNo為當前第幾頁,pgSize為每頁幾條數據。

MS-SQL分頁not in 方法改進之使用Max\Min


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 修水县| 社旗县| 神农架林区| 万荣县| 邹平县| 曲麻莱县| 漳浦县| 扎囊县| 阿克苏市| 和田县| 克什克腾旗| 江都市| 荥阳市| 东辽县| 吴桥县| 洛川县| 南充市| 海阳市| 福安市| 花莲市| 梓潼县| 松江区| 岑巩县| 长治市| 宜都市| 积石山| 乳山市| 留坝县| 微博| 扶余县| 新野县| 淄博市| 小金县| 三台县| 独山县| 宜阳县| 嘉善县| 淮安市| 裕民县| 会宁县| 长治县|