溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

行遷移對跨分區(qū)update效率的影響分析

發(fā)布時間:2021-11-10 14:32:13 來源:億速云 閱讀:107 作者:iii 欄目:關(guān)系型數(shù)據(jù)庫

本篇內(nèi)容介紹了“行遷移對跨分區(qū)update效率的影響分析”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

測試目的:
行遷移對跨分區(qū)update效率的影響。 創(chuàng)建測試表
create table ming.LICISITS_R
(
EID NUMBER(18) not null,
EUTIME DATE  default sysdate ,
dynamicmap VARCHAR2(200) not null
)
PARTITION BY RANGE (EUTIME) INTERVAL (numtoyminterval(1, 'month'))
(partition p1900 values less than(to_date('1900-01-01', 'yyyy-mm-dd')));

alter table ming.LICISITS_R add constraint PK_LICISITS_R primary key(EID) using index ;
alter table ming.LICISITS_R add constraint PK_LG_LICISITS_R unique(dynamicmap) using index ;

開啟行遷移
alter table ming.LICISITS_R enable row movement;

每個分區(qū)插入10萬數(shù)據(jù)
begin
    for i in  1 .. 100000
    loop
        insert into ming.LICISITS_R values( i,sysdate,i);
    end loop;
    commit;
end;
/ begin
    for i in  100001 .. 200000
    loop
        insert into ming.LICISITS_R values( i,sysdate-31,i);
    end loop;
    commit;
end;
/

開啟記錄時間
set timing on time on

將SYS_P3695分區(qū)數(shù)據(jù)全部update到SYS_P3696分區(qū)
17:24:15 SQL> update ming.LICISITS_R set EUTIME=sysdate-31 where eid<=100000;
commit;

100000 rows updated.

Elapsed: 00:00:06.19
時間為6秒

分區(qū)內(nèi)update
17:25:21 SQL> update ming.LICISITS_R set EUTIME=sysdate-32 where eid<=100000;

100000 rows updated.

Elapsed: 00:00:00.71
只需要0.71秒

再移動回去
17:26:45 SQL> update ming.LICISITS_R set EUTIME=sysdate where eid<=100000;

100000 rows updated.

Elapsed: 00:00:04.31
需要04.31秒

#############################################################
多次測試后發(fā)現(xiàn),10萬數(shù)據(jù)行遷移需要4-6秒,分區(qū)內(nèi)update不用1秒。
############################################################# 在此期間監(jiān)控記錄redo生成量
select * from v$statname where name like '%redo%'
select * from v$sesstat where statistic#=288 and sid=807
744-27306840--165164928 --
分區(qū)內(nèi)update:744-->27306840,大約26M redo
分區(qū)間行遷移:27306840-->165164928大約131M redo
將數(shù)據(jù)刪除再插入,生成的redo從165164928-->275735704
此過程大約需要105M redo

“行遷移對跨分區(qū)update效率的影響分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI