青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統計

最新評論

提高數據更新效率(UPDATE/INSERT) --- 轉

有多種方法可以提高更新的效率.
簡單說來:
1、暫停索引,更新后恢復.避免在更新的過程中涉及到索引的重建.
2、批量更新,每更新一些記錄后及時進行提交動作.避免大量占用回滾段和或臨時表空間.
3、創建一臨時的大的表空間用來應對這些更新動作.
=========================================================================不同看法
如果UPDATE的是索引字段,就會涉及到索引的重建,暫停索引不會提高多少的速度,反而有可能降低UPDATE速度,
因為在更新是索引可以提高數據的查詢速度,重建索引引起的速度降低影響不大。

ORACLE優化修改參數最多也只能把性能提高15%,大部分都是SQL語句的優化!


=========================================================================不同位置
update總體來說比insert要慢  
幾點建議:  
  1、如果更新的數據量接近整個表,就不應該使用index而應該采用全表掃描  
  2、減少不必要的index,因為update表通常需要update index  
  3、如果你的服務器有多個cpu,采用parellel hint,可以大幅度的提高效率  
   
  前年我也遇到類似的問題,300萬紀錄的一個表,每天要全表更新20次左右,最初通過cursor多進程(18個進程)更新,耗時30分鐘,
  后來采用full+parallel   hint,耗時降低到3分鐘左右。服務器是ibm   rs6000   s590,18個CPU,64GB內存。  
 
  另外,建表的參數非常重要,對于更新非常頻繁的表,建議加大PCTFREE的值,以保證數據塊中有足夠的空間用于UPDATE,
  從而降低CHAINED_ROWS。 


=========================================================================不同位置
如果有足夠CPU以及I/O 的話....
ALTER SESSION ENABLE PARALLEL DML;

INSERT /*+ PARALLEL(tableA, 2) */
INTO tableA NOLOGGING
SELECT * FROM tableB;

當中的 2 是多少個進程同時執行. 可應不同情況加減. 


=========================================================================不同位置
2比較可行的方法
方法一:使用oracle中包含在注釋中的提示信息
insert /*+append*/ into ...nologing
select * from ...

方法二:使用批量拷貝方法
set arraysize 20
set copycommit 5000
copy fromusername/password@oracle_nameappend table_name1
using select * from table_name2;

實際效果,方法一要比方法二速度還要快些

/*+append */ nologging 的方法不錯.
bulk insert好像需要內容足夠大才可以.

=========================================================================不同位置
set autocommit 100;----------每一百條記錄提交一次
set transaction use rollback segment RBS1;
      INSERT INTO table1 NOLOGGING
         SELECT * FROM table2;
     commit;

改變表的存儲策略:
ALTER TABLE aaaa1
    PCTFREE 30
    PCTUSED 60;
---------這兩個值相加要小于100,把PCTFREE搞大,PCTUSED搞小,可能會快一點

=========================================================================不同位置
再提供一種方法,俺曾經用過的:
alter session set sort_area_size=100000000;
insert into tableb select * from tablea;
commit;


=========================================================================總結
提高更新速度總結:
1、暫停索引,更新后恢復.避免在更新的過程中涉及到索引的重建.
    缺點:
        如果UPDATE的是索引字段,就會涉及到索引的重建,暫停索引不會提高多少的速度,反而有可能降低UPDATE速度。
        如果表比較龐大,停索引后重鍵需要花比較長的時間
    優點:
        如果更新的數據量接近整個表,此方法比較好。
       
2、批量更新,每更新一些記錄后及時進行提交動作.避免大量占用回滾段和或臨時表空間.
3、創建一臨時的大的表空間用來應對這些更新動作.
4、如果你的服務器有多個cpu,采用parellel hint,可以大幅度的提高效率
    ALTER SESSION ENABLE PARALLEL DML;

    INSERT /*+ PARALLEL(tableA, 2) */INTO tableA NOLOGGING
       SELECT * FROM tableB;
    當中的 2 是多少個進程同時執行. 可應不同情況加減. 

5、建表的參數非常重要,對于更新非常頻繁的表,建議加大PCTFREE的值,以保證數據塊中有足夠的空間用于UPDATE,從而降低CHAINED_ROWS
    ALTER TABLE aaaa1
       PCTFREE 30
       PCTUSED 60;
    ---------這兩個值相加要小于100,把PCTFREE搞大,PCTUSED搞小,可能會快一點

6、oracle提示及批量拷貝
    方法一:使用oracle中包含在注釋中的提示信息
        insert /*+append*/ into ...nologing
           select * from ...

    方法二:使用批量拷貝方法
        set arraysize 20
        set copycommit 5000
        copy fromusername/password@oracle_nameappend table_name1
        using select * from table_name2;

    實際效果,方法一要比方法二速度還要快些

7、加大排序緩沖區
    alter session set sort_area_size=100000000;
    insert into tableb select * from tablea;
    commit;

posted on 2013-12-04 11:39 大龍 閱讀(728) 評論(0)  編輯 收藏 引用

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            老司机午夜精品视频在线观看| 亚洲国产精品激情在线观看| 亚洲色图综合久久| 欧美~级网站不卡| 另类天堂av| 欧美大片免费观看| 欧美日韩麻豆| 国产亚洲精品福利| 1024欧美极品| 一片黄亚洲嫩模| 性久久久久久久久| 久久蜜桃资源一区二区老牛 | 亚洲人成在线播放| 在线亚洲免费| 久久久久久噜噜噜久久久精品| 欧美高清在线播放| 中文无字幕一区二区三区| 久久精品午夜| 欧美视频日韩视频| 在线看国产一区| 先锋亚洲精品| 亚洲国产一成人久久精品| 一区二区三区成人| 玖玖综合伊人| 国产精一区二区三区| 亚洲精品乱码久久久久| 欧美在线二区| 99re6热在线精品视频播放速度| 久久精品国产精品| 国产精品女人久久久久久| 亚洲精品国久久99热| 久久久久久久综合狠狠综合| 日韩视频一区二区三区在线播放免费观看 | 精品成人国产在线观看男人呻吟| 一区二区久久久久| 欧美黄色免费网站| 欧美在线观看你懂的| 国产精品久久国产三级国电话系列 | 欧美99久久| 精品成人乱色一区二区| 亚洲欧美在线aaa| 亚洲三级性片| 欧美成人官网二区| 亚洲韩国日本中文字幕| 久久永久免费| 久久久99爱| 国产在线观看91精品一区| 欧美在线免费视屏| 亚洲欧美视频一区| 国产欧美日韩综合一区在线播放| 99视频一区二区三区| 亚洲大片av| 欧美精品免费播放| 欧美制服第一页| 欧美一区日本一区韩国一区| 国产精品第一区| 亚洲午夜久久久久久久久电影院| 亚洲精华国产欧美| 欧美国产综合一区二区| 亚洲免费成人| 亚洲精品视频啊美女在线直播| 欧美国产日产韩国视频| 亚洲精品一二三| 亚洲精品视频一区二区三区| 欧美日本三区| 亚洲欧美日本视频在线观看| 亚洲午夜久久久久久久久电影院| 国产精品护士白丝一区av| 午夜精品久久久久久久久| 午夜精彩国产免费不卡不顿大片| 国产一区二区在线免费观看 | 亚洲专区欧美专区| 一区二区三区免费在线观看| 国产精品久久毛片a| 欧美一级午夜免费电影| 久久精品国产99国产精品澳门| 亚洲电影成人| 亚洲精选在线| 国产视频一区免费看| 欧美成人亚洲| 欧美色大人视频| 久久琪琪电影院| 欧美在线短视频| 欧美在线亚洲综合一区| 亚洲激情在线激情| 中日韩高清电影网| 国产在线精品二区| 亚洲欧洲午夜| 国产色综合天天综合网| 欧美福利网址| 国产精品毛片大码女人| 久久一区亚洲| 欧美性一区二区| 老司机久久99久久精品播放免费| 欧美搞黄网站| 久久精品中文字幕免费mv| 欧美激情视频在线播放| 久久高清免费观看| 欧美极品一区| 蜜乳av另类精品一区二区| 国产精品久久波多野结衣| 免费观看成人网| 国产精品视频自拍| 亚洲精品视频免费在线观看| 激情成人在线视频| 亚洲天堂黄色| 夜夜嗨av一区二区三区网站四季av| 欧美一区二区视频在线观看| 一区二区免费在线观看| 久久一二三四| 久久精品国产欧美激情| 欧美午夜不卡视频| 亚洲国产乱码最新视频| 韩国一区电影| 性欧美在线看片a免费观看| 久久精品成人欧美大片古装| 牛牛国产精品| 亚洲电影免费观看高清完整版在线观看| 亚洲国产综合91精品麻豆| 国产午夜亚洲精品理论片色戒| 亚洲精品日韩久久| 在线日韩成人| 久久久久国产一区二区三区| 午夜精品视频在线| 欧美日韩在线另类| 亚洲欧洲综合另类| 亚洲国产精品小视频| 久久精品国产77777蜜臀| 欧美一区亚洲二区| 国产精品视频网站| 亚洲一品av免费观看| 亚洲性感激情| 欧美婷婷久久| 一区二区三区成人精品| 亚洲无限av看| 国产精品久久激情| 亚洲一区二区三区在线看| 亚洲在线视频| 国产精品日日摸夜夜添夜夜av| 这里只有精品视频在线| 亚洲专区免费| 国产欧美日本一区二区三区| 午夜精品久久一牛影视| 久久精品一区二区| 亚洲国产女人aaa毛片在线| 美乳少妇欧美精品| 亚洲欧洲一区二区在线播放 | 国产精品入口尤物| 性欧美大战久久久久久久久| 久久久久久久久久久久久9999 | 欧美一级在线视频| 国产亚洲欧美日韩美女| 久久综合网络一区二区| 最新中文字幕亚洲| 亚洲免费一级电影| 国产亚洲在线观看| 欧美成年人网站| 在线视频一区观看| 久久久蜜桃精品| 亚洲美女免费视频| 国产日韩在线一区二区三区| 久久蜜桃精品| 日韩一级精品视频在线观看| 性做久久久久久| 亚洲高清不卡在线| 国产精品黄视频| 麻豆精品一区二区av白丝在线| 一级成人国产| 欧美肥婆在线| 性欧美video另类hd性玩具| 亚洲第一视频网站| 国产精品免费观看视频| 麻豆精品精华液| 午夜精品理论片| 日韩视频在线观看一区二区| 久久久久久久国产| 亚洲一区二区三区色| 亚洲高清不卡| 国产私拍一区| 欧美亚洲第一区| 欧美高清视频www夜色资源网| 99综合精品| 尤物九九久久国产精品的分类| 欧美视频四区| 欧美成人a∨高清免费观看| 性色av一区二区三区| 一本色道久久综合精品竹菊| 欧美成人免费观看| 久久精品导航| 亚洲欧美日本视频在线观看| 亚洲免费久久| 亚洲国产欧美一区| 韩国三级电影一区二区| 国产乱码精品一区二区三| 欧美日韩中文字幕在线视频| 欧美激情 亚洲a∨综合| 噜噜噜噜噜久久久久久91| 欧美在线三级| 欧美在线影院| 欧美在线黄色|