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

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

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

    Java快速開發平臺

    www.fastunit.com

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      23 Posts :: 0 Stories :: 273 Comments :: 0 Trackbacks

    一、FastUnit平臺的分頁機制
    使用2次查詢來實現分頁:
    1. 獲取總記錄數

    select   count ( * from  T  where  

    2. 利用Oracle的rownum獲取指定頁的數據

    select   *   from  (  select  row_. * , rownum rownum_  from  (  SELECT   *   FROM  T  where  ) row_  where  rownum  <= ?)  where  rownum_  >  ?

    (根據上一步得到的總記錄數以及每頁行數、當前頁碼計算出起始行號和結束行號,設置在上述SQL語句的“?”處)

    二、測試環境
    操作系統:Windows XP Professional SP1
    CPU:迅馳1.6G
    物理內存:1G
    應用服務器:Tomcat 5.5.23
    數據庫:Oracle92(默認設置)

    三、測試對象
    FastUnit平臺的日志表,腳本如下:

    CREATE   TABLE  ACCESSLOG(
        id                       
    NUMBER ( 10 , 0 NOT   NULL ,
        type                  
    NUMBER ( 1 , 0 ),
        userid              
    VARCHAR2 ( 50 ),
        username        
    VARCHAR2 ( 50 ),
        org                    
    VARCHAR2 ( 50 ),
        domain            
    VARCHAR2 ( 50 ),
        groupid           
    VARCHAR2 ( 50 ),
        groupname      
    VARCHAR2 ( 50 ),
        unitid              
    VARCHAR2 ( 50 ),
        unitname         
    VARCHAR2 ( 50 ),
        elementid        
    VARCHAR2 ( 50 ),
        elementname   
    VARCHAR2 ( 50 ),
        cost                  
    NUMBER ( 5 , 0 ),
        ok                    
    NUMBER ( 1 , 0 ),
        curtime           DATE,
        
    PRIMARY   KEY  (id)
    );
    CREATE   INDEX  AL_ct_idx  on  ACCESSLOG (curtime);


    四、測試結果
    本案例中,數據庫除了索引未使用其他優化措施。
    僅設置curtime條件時(使用索引),平均響應時間為620毫秒(如下圖所示);
    對比:
    不設置任何條件時,平均響應時間為2300毫秒;
    僅設置userid條件時(未使用索引),平均響應時間為5100毫秒。
    page.png
    (圖中的測試數據由FastUnit的跟蹤器統計的,用來跟蹤進程內各斷點之間時間消耗、數據庫連接數、查詢次數、增刪改次數、內存消耗等,可以直觀的判斷出系統瓶頸的位置,為系統優化提供支持。)

    五、對于大表的一般性優化措施
    1. 表結構設計原則:數據類型盡量小(占用空間少,磁盤讀入較快)、單獨設置表空間
    2. 應用程序:合理設計業務、SQL語句優化
    3. 合理使用索引:只創建需要的索引,根據需要使用多列索引,存放于單獨的表空間
    4. 數據庫設置:內存分配、查詢優化器、分區、分表等
    5. 硬件環境:硬盤、CPU、內存、網絡帶寬

    posted on 2008-01-16 14:21 FastUnit 閱讀(5998) 評論(7)  編輯  收藏 所屬分類: Java 、DatabaseFastUnit

    Feedback

    # re: Oracle百萬數據的分頁查詢和測試案例 2008-01-16 15:14 cnodin
    用rownum分頁,如果取最后一頁,是不是把數據庫的所有數據先查出來,然后再取rownum?  回復  更多評論
      

    # re: Oracle百萬數據的分頁查詢和測試案例 2008-01-16 15:17 FastUnit
    rownum是Oracle的內部處理機制,直接返回指定頁的數據記錄,在上述SQL的“?”處指定起始行號和結束行號即可。rownum是Oracle分頁的通用模式,Hibernate也是這樣處理的。  回復  更多評論
      

    # re: Oracle百萬數據的分頁查詢和測試案例 2008-01-17 09:14 Robin's Java World
    你這用的是什么測試工具呀?
      回復  更多評論
      

    # re: Oracle百萬數據的分頁查詢和測試案例 2008-01-17 11:30 wangdei
    你可以看看這個網站 http://www.yaonba.com 它也是百萬級的.  回復  更多評論
      

    # re: Oracle百萬數據的分頁查詢和測試案例 2008-01-17 14:57 FastUnit
    切圖中的測試數據是FastUnit內部實現的跟蹤器,用來統計進程內各斷點之間的資源消耗。  回復  更多評論
      

    # re: Oracle百萬數據的分頁查詢和測試案例[未登錄] 2008-01-22 10:48 thinkthink
    現在很多人利用blog賣廣告了  回復  更多評論
      

    # re: Oracle百萬數據的分頁查詢和測試案例 2008-02-25 20:22 cayu
    這個分頁也太。。。  回復  更多評論
      

    主站蜘蛛池模板: 妇女自拍偷自拍亚洲精品| 78成人精品电影在线播放日韩精品电影一区亚洲 | 性xxxx视频免费播放直播| 亚洲精品无码久久一线| 中国性猛交xxxxx免费看| 国产亚洲色婷婷久久99精品91| 深夜久久AAAAA级毛片免费看| 日本一道一区二区免费看 | 亚洲中文字幕人成乱码| 在线永久免费的视频草莓| 亚洲三级中文字幕| 毛片大全免费观看| 亚洲精品第一国产综合亚AV| 午夜一级毛片免费视频| 最新亚洲人成无码网www电影| 国产在线观看www鲁啊鲁免费| 深夜福利在线视频免费| 亚洲国产精品成人精品无码区在线| 精品在线免费观看| 亚洲精品乱码久久久久久下载| 999国内精品永久免费观看| 亚洲精品无码久久久久A片苍井空| 免费国产综合视频在线看| 久久久WWW免费人成精品| 老汉色老汉首页a亚洲| 动漫黄网站免费永久在线观看| 性色av极品无码专区亚洲 | 久久综合亚洲色一区二区三区| 思思99re66在线精品免费观看| 羞羞视频免费网站含羞草| 国产亚洲色视频在线| 91精品导航在线网址免费| 亚洲欧美黑人猛交群| 国产亚洲精品AA片在线观看不加载| 久9这里精品免费视频| 中国亚洲呦女专区| 久久亚洲中文字幕精品一区四| 一级毛片全部免费播放| 美女羞羞喷液视频免费| 亚洲国产成人久久精品动漫| 免费看a级黄色片|