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

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

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

    ……天天向上

    好的想法總是無窮無盡

    統計

    留言簿(1)

    閱讀排行榜

    評論排行榜

    一個簡單的分頁展示系統優化總結

    由于開發經驗較少,數據量較大(千萬級,日有40萬條數據左右),導致這個分頁jsp頁面做的效率非常低,通過一系列的優化后,效果明顯得到了提高,記錄一下筆記:
    1、分頁獲取的list對象集合由于沒有預料到數據量的大小,是直接一次性讀取然后展示到前臺的,導致查詢展示效率非常低:
    更改SQL語句,改為按照當前需要展示的數據行數,通過SQL的ROWNUM來進行控制查詢的數據量大小,(插入數據時,打開一個數據庫連接即一次性插入100條數據(可以配置的模式)):
    SELECT BRAS_ADDRESS, APPLYTIMES, ALLFAILTIMES,SUCCESSRATE, RN 
    FROM 
    (SELECT BRAS_ADDRESS, APPLYTIMES, ALLFAILTIMES,SUCCESSRATE, ROWNUM AS RN 
    FROM 
    (SELECT BRAS_ADDRESS, APPLYTIMES, ALLFAILTIMES,
    1-ALLFAILTIMES/DECODE(APPLYTIMES,0,1,APPLYTIMES) AS SUCCESSRATE  
    FROM 
    (SELECT BRAS_ADDRESS, 
    SUM(DECODE(AUTNCOUNTTYPE,
    'REQ_CHALLENGE',APPLYTIMES,0)) AS APPLYTIMES, 
    SUM(DECODE(AUTNCOUNTTYPE,
    'ACK_CHALLENGE',APPLYTIMES,'ACK_AUTH',APPLYTIMES,'REQ_LOGOUT',APPLYTIMES,0)) AS ALLFAILTIMES 
    FROM T_BRAS_XXXX 
    WHERE READTIME between TO_DATE(
    '2012-06-01 00:00:00','yyyy-MM-dd HH24:mi:ss'
    and TO_DATE(
    '2012-06-12 23:59:59','yyyy-MM-dd HH24:mi:ss')
    GROUP BY BRAS_ADDRESS 
    )
    ORDER BY SUCCESSRATE

    WHERE  ROWNUM 
    <= 180 
    )
    WHERE RN 
    > 165 

    2、建立索引,建立索引的字段不能使用函數避免索引失效;
    3、建立分區表,將間隔5天的數據放在一個表中:


    ----------------------刪除原表,新建分區表
    --刪除表
    drop table T_BRAS_XXXX;
    commit;

    --創建分區表:利用Oracle11g INTERVAL進行分區的方法
    create table T_BRAS_XXXX
    (
    BRAS_XXXX_ID integer NOT NULL PRIMARY KEY,
    BRAS_XXXX VARCHAR2(
    64),
    AUTNCOUNTTYPE VARCHAR2(
    50),
    SUCCESSTIMES NUMBER,
    APPLYTIMES NUMBER,
    INTERVALTIME NUMBER,
    UPDATETIME DATE  DEFAULT SYSDATE,
    READTIME DATE
    )
    PARTITION BY RANGE (READTIME)
    INTERVAL (NUMTODSINTERVAL(
    5,'day'))
    (
      PARTITION T_BRAS_XXXX_PART01 VALUES LESS THAN (TO_DATE(
    '2012-07-01 00:00:00','yyyy-MM-dd HH24:mi:ss'))
    )
    --保留原來創建的BRAS_XXXX_ID自增序列
    --創建索引
    create index idx_t_bras_XXXX on t_bras_XXXX(readtime,bras_address);
    commit;

    --查看分區是否成功:
    select table_name,partition_name from user_tab_partitions where table_name
    ='T_BRAS_XXXX';

    posted on 2012-07-16 11:30 japper 閱讀(524) 評論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 亚洲日韩精品国产一区二区三区| 久久久久亚洲?V成人无码| 亚洲综合激情另类小说区| a级毛片高清免费视频就| 久久久久亚洲AV综合波多野结衣| 免费人成再在线观看网站| 免费jjzz在在线播放国产| 免费精品国产自产拍在线观看 | 国产精品亚洲综合久久| 成人黄软件网18免费下载成人黄18免费视频 | 欧洲美熟女乱又伦免费视频| 亚洲色无码专区一区| 日本xxwwxxww在线视频免费| 亚洲av无码一区二区三区天堂古代 | 亚洲精品无码不卡在线播放| 日韩高清在线免费看| 亚洲国产午夜精品理论片在线播放| 日韩毛片无码永久免费看| 无人视频在线观看免费播放影院| 亚洲国产精品日韩专区AV| 中文字幕视频免费在线观看| 亚洲国产成人精品无码区在线观看 | 亚洲中文字幕久久精品无码VA| 日韩视频在线免费观看| 国产高清对白在线观看免费91| 亚洲av永久无码制服河南实里| 免费A级毛片无码专区| 亚洲av永久综合在线观看尤物| 精品免费国产一区二区| 免费人成视频在线观看免费| 亚洲精品国产美女久久久| 3344免费播放观看视频| 亚洲av无码成人精品区一本二本| 亚洲国产91精品无码专区| 成人免费区一区二区三区 | 女人18毛片免费观看| 国产V片在线播放免费无码| 亚洲欧洲日产专区| 免费国产精品视频| 可以免费观看的国产视频| 亚洲午夜精品一区二区麻豆|