乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      加速Oracle大批量數(shù)據(jù)處理的2個(gè)好用方案

       168一路發(fā) 2011-03-17

      其實(shí)加速Oracle大批量數(shù)據(jù)處理并不困難,你選擇的實(shí)際應(yīng)用方案很重要,以下的文章主要是對(duì)解決加速Oracle大批量數(shù)據(jù)處理的2個(gè)方案的介紹,即,提高DML操作的辦法還有各種批量DML操作。

      一、加速Oracle大批量數(shù)據(jù)處理的方法之一,提高DML操作的辦法:

      簡(jiǎn)單說(shuō)來(lái):

      1、暫停索引,更新后恢復(fù).避免在更新的過(guò)程中涉及到索引的重建.

      2、批量更新,每更新一些記錄后及時(shí)進(jìn)行提交動(dòng)作.避免大量占用回滾段和或臨時(shí)表空間.

      3、創(chuàng)建一臨時(shí)的大的表空間用來(lái)應(yīng)對(duì)這些更新動(dòng)作.

      4、批量更新,每更新一些記錄后及時(shí)進(jìn)行提交動(dòng)作.避免大量占用回滾段和或臨時(shí)表空間.

      5、創(chuàng)建一臨時(shí)的大的表空間用來(lái)應(yīng)對(duì)這些更新動(dòng)作.

      6、加大排序緩沖區(qū)

       

      1. alter session set sort_area_size=100000000;  
      2. insert into tableb select * from tablea;  
      3. commit;  

       

      如果UPDATE的是索引字段,就會(huì)涉及到索引的重建,暫停索引不會(huì)提高多少的速度,反而有可能降低UPDATE速度,

      因?yàn)樵诟率撬饕梢蕴岣邤?shù)據(jù)的查詢速度,重建索引引起的速度降低影響不大。

      Oracle優(yōu)化修改參數(shù)最多也只能把性能提高15%,大部分都是SQL語(yǔ)句的優(yōu)化!

      update總體來(lái)說(shuō)比insert要慢 :

      幾點(diǎn)建議:

      1、如果更新的數(shù)據(jù)量接近整個(gè)表,就不應(yīng)該使用index而應(yīng)該采用全表掃描

      2、減少不必要的index,因?yàn)閡pdate表通常需要update index

      3、如果你的服務(wù)器有多個(gè)cpu,采用parellel hint,可以大幅度的提高效率

      另外,建表的參數(shù)非常重要,對(duì)于更新非常頻繁的表,建議加大PCTFREE的值,以保證數(shù)據(jù)塊中有足夠的空間用于UPDATE, 從而降低CHAINED_ROWS。

      二、加速Oracle大批量數(shù)據(jù)處理之二各種批量DML操作:

      (1)、Oracle批量拷貝:

       

      1. set arraysize 20  
      2. set copycommit 5000  
      3. copy from username/password@Oraclename append table_name1  
      4. using select * from table_name2;  

      (2)、常規(guī)插入方式:

       

      1. insert into t1 select * from t; 

      為了提高速度可以使用下面方法,來(lái)減少插入過(guò)程中產(chǎn)生的日志:

       

      1. alter table t1 nologging;  
      2. insert into t1 select * from t;  
      3. commit;  

       

      (3)、CTAS方式:

       

      1. create table t1  
      2. as  
      3. select * from t;  

       

      為了提高速度可以使用下面方法,來(lái)減少插入過(guò)程中產(chǎn)生的日志,并且可以制定并行度:

       

      1. create table t1 nologging parallel(degree 2) as select * from t;  

      上述的相關(guān)內(nèi)容就是對(duì)加速Oracle大批量數(shù)據(jù)處理的方案描述,希望會(huì)給你帶來(lái)一些幫助在此方面。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類(lèi)似文章 更多