<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 奮斗成就男人 閱讀(481) 評論(0)  編輯  收藏 所屬分類: SQL

    主站蜘蛛池模板: 亚洲国产精品VA在线看黑人| 免费不卡中文字幕在线| 在线人成精品免费视频| 日本免费一区二区在线观看| 丁香花免费高清视频完整版| 国产国产人免费人成免费视频| 亚洲成年看片在线观看| 久久九九亚洲精品| 日韩精品无码免费专区午夜| 亚洲最大免费视频网| 久久久久国产亚洲AV麻豆| 久久亚洲私人国产精品| 亚洲AV日韩AV一区二区三曲| a级片免费在线观看| 免费黄色app网站| 精品亚洲一区二区| 暖暖免费日本在线中文| 日韩精品视频免费网址| 中文字幕亚洲精品资源网| 无码人妻一区二区三区免费视频 | 亚欧免费一级毛片| 免费a级毛片无码av| 思思久久99热免费精品6 | 国产小视频免费观看| a高清免费毛片久久| 成人免费视频一区二区三区| 亚洲国产精品SSS在线观看AV| 真实国产乱子伦精品免费| 亚洲无吗在线视频| 国产自国产自愉自愉免费24区 | 最近的免费中文字幕视频| 亚洲第一成年网站视频| 五月婷婷在线免费观看| 久久久久亚洲精品无码网址色欲 | 四虎永久在线精品免费影视 | av午夜福利一片免费看久久| 亚洲av永久无码精品国产精品| 美女的胸又黄又www网站免费| 国产福利视精品永久免费| 亚洲一区二区三区夜色| 成在人线AV无码免费|