古之成大事者,不唯有超世之才,亦唯有堅韌不拔之志也!

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            3 隨筆 :: 44 文章 :: 1 評論 :: 0 Trackbacks
          在做view的時候往往要把批量數據顯示給用戶看,那么這個時候我們就要對數據做分頁操作
          總的來講分頁有兩種方式:

          1:數據庫服務器端處理
             就是說在數據庫上做查詢時就只返回需要的數據如:從數據庫表中的第M條記錄開始取N條記錄
             sqlserver :
          SELECT *
                  
          FROM  ( SELECT Top N *  
                                   
          FROM  (SELECT Top (M + N - 1* FROM 表名稱 Order by 主鍵 desc
          ) t1 ) t2
          然后再對結果集進行處理
             oracle:
          select * from ( select rownum row_num,TABL_L.* from ( select * from table where A order
                     by B) TABLE_L ) where row_num 
          >= M and rownum < (M+N) 需要做3層嵌套是因為rownum虛字段的性質造成

          2:在應用軟件端處理

             先使用select * from table A where B order by C
             然后對獲得的結果處理
            
           while(rs.next()){
                intRowCount 
          = rs.getRow();
               
          if(rs.getRow() >= startIndex && rs.getRow() <= endIndex){
                
          //形成顯示html
                } 
           }
            
          兩種方法各有優勢,如果在數據量不是很大的情況下,建議使用第二種,有利于sql的統一
          在數據量大以及數據庫服務器隔離遠和網絡傳輸滿的情況下建議使用第一種減少傳輸量

          posted on 2008-05-16 13:56 goto 閱讀(203) 評論(0)  編輯  收藏 所屬分類: 數據庫
          主站蜘蛛池模板: 江津市| 渝中区| 台前县| 吉隆县| 洛川县| 永顺县| 房产| 福州市| 边坝县| 武汉市| 湾仔区| 东阿县| 阜新| 东丰县| 蒙城县| 会昌县| 塔河县| 武强县| 永昌县| 荣昌县| 南江县| 景德镇市| 文成县| 通州区| 从化市| 绥芬河市| 施甸县| 黄石市| 隆化县| 沅陵县| 嘉义市| 新干县| 开阳县| 和硕县| 平度市| 疏附县| 天津市| 武邑县| 永济市| 友谊县| 句容市|