<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    yxhxj2006

    常用鏈接

    統計

    最新評論

    SQL分頁語句

    有關分頁 SQL 的資料很多,有的使用存儲過程,有的使用游標。本人不喜歡使用游標,我覺得它耗資、效率低;使用存儲過程是個不錯的選擇,因為存儲過程是經過預編譯的,執行效率高,也更靈活。先看看單條 SQL 語句的分頁 SQL 吧。

    方法1:
    適用于 SQL Server 2000/2005
    SELECT TOP 頁大小 *
    FROM table1
    WHERE id NOT IN
              (
              
    SELECT TOP 頁大小*(數排序-1) id FROM table1 ORDER BY id
              )
    ORDER BY id
    原理:其中id最好是主鍵或者索引,這樣查詢速度比較快)。由頁碼數,通過sELECT TOP 頁大小*(頁數排序-1) id FROM tablename ORDER BY id 獲取最前面的那幾行(top),然后通過id not in 表示要查詢的那一頁是最后的那一部分,而通過top +頁大小表示去最后那一部分記錄的最前面的那幾天記錄(每頁記錄數)。
    為什么直接取最后那一部分的,因為sql只有去前面幾條記錄top,而沒有去最后幾條記錄的關鍵字。
    方法2:
    適用于 SQL Server 2000/2005
    --順序寫法:
     SELECT TOP 頁大小 *
     FROM table1
     WHERE id >=
     (
     SELECT ISNULL(MAX(id),0) 
     FROM 
     (
     SELECT TOP 頁大小*(頁數-1)+1 id FROM table1 ORDER BY id
     ) A
     )
     ORDER BY id
     
     --降序寫法:
     SELECT TOP 頁大小 *
     FROM table1
     WHERE id <=
     (
     SELECT ISNULL(MIN(id),0) 
     FROM 
     (
     SELECT TOP 頁大小*(頁數-1)+1 id FROM table1 ORDER BY id Desc
     ) A
     )
     ORDER BY id Desc

    方法3:
    適用于 SQL Server 2005

    SELECT TOP 頁大小 * 
    FROM 
            (
            
    SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1
            ) A
    WHERE RowNumber > 頁大小*(頁數-1)


    說明,頁大小:每頁的行數;頁數:第幾頁。使用時,請把“頁大小”和“頁大小*(頁數-1)”替換成數字。

     

     

     

    其它的方案:如果沒有主鍵,可以用臨時表,也可以用方案三做,但是效率會低。
    建議優化的時候,加上主鍵和索引,查詢效率會提高。

    通過SQL 查詢分析器,顯示比較:我的結論是:
    分頁方案二:(利用ID大于多少和SELECT TOP分頁)效率最高,需要拼接SQL語句
    分頁方案一:(利用Not In和SELECT TOP分頁)   效率次之,需要拼接SQL語句
    分頁方案三:(利用SQL的游標存儲過程分頁)    效率最差,但是最為通用

    posted on 2012-08-29 18:36 奮斗成就男人 閱讀(474) 評論(0)  編輯  收藏 所屬分類: SQL

    主站蜘蛛池模板: 国产人成亚洲第一网站在线播放| 免费看一级高潮毛片| 日本免费电影一区| 国产A∨免费精品视频| 亚洲黄色在线观看网站| 国产午夜免费福利红片| 久久午夜夜伦鲁鲁片无码免费| 亚洲日本人成中文字幕| 在线精品亚洲一区二区三区| 国产免费女女脚奴视频网| 免费一级做a爰片久久毛片潮| 伊人久久综在合线亚洲2019| 亚洲AV蜜桃永久无码精品| 四虎在线视频免费观看视频| 国产精品免费久久久久电影网| 中文字幕在线观看亚洲视频| 国产亚洲成AV人片在线观黄桃| 成年女人18级毛片毛片免费观看| 成人A毛片免费观看网站| 亚洲人成色4444在线观看| 亚洲精品人成在线观看| 全黄性性激高免费视频| 在线看片韩国免费人成视频| 九九免费久久这里有精品23| 亚洲一区二区三区写真 | 亚洲人妖女同在线播放| 亚洲日韩aⅴ在线视频| 热99re久久精品精品免费| 18级成人毛片免费观看| 久久久久久久久久久免费精品| 久久亚洲精品国产亚洲老地址| 久久精品亚洲一区二区| 国产成人亚洲精品91专区手机| 免费看美女让人桶尿口| 国产精品1024永久免费视频| 免费人成黄页在线观看日本| 国产美女视频免费观看的网站| 亚洲AV无码一区二区一二区| 激情亚洲一区国产精品| 亚洲毛片基地日韩毛片基地| 亚洲国产精品久久久久婷婷软件 |