溫馨提示×

溫馨提示×

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

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

Exchange Partition是什么

發(fā)布時間:2021-12-09 16:49:22 來源:億速云 閱讀:203 作者:iii 欄目:關(guān)系型數(shù)據(jù)庫

這篇文章主要介紹“Exchange Partition是什么”,在日常操作中,相信很多人在Exchange Partition是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Exchange Partition是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

Pruning
分區(qū)裁剪就是執(zhí)行計(jì)劃里面的東西,不用自己去設(shè)置什么(select table時不指定的分區(qū)名的情況下),優(yōu)化器可以自動從FROM和WHERE字句里根據(jù)分區(qū)鍵提取出需要掃描的分區(qū),從而避免全表掃描,減少掃描的數(shù)據(jù)塊,提高性能。相關(guān)的字段dba_tab_partitions.partition_name、dba_tab_partitions.partition_position。

分區(qū)裁剪分為靜態(tài)和動態(tài),靜態(tài)分區(qū)裁剪發(fā)生在編譯階段,動態(tài)分區(qū)裁剪發(fā)生在執(zhí)行階段
靜態(tài)裁剪:就是oracle知道走哪幾個分區(qū),比如where 條件過濾后知道某個分區(qū),執(zhí)行計(jì)劃的pstart和pstop顯示具體分區(qū)號
動態(tài)裁剪:如果在解析階段無法知道需要掃描多少分區(qū),只有在運(yùn)行時才能確定,執(zhí)行計(jì)劃的pstart和pstop顯示KEY(SQ)或:BF0000

PARTITION RANGE ALL:掃描所有分區(qū)(具體哪些分區(qū)可參考執(zhí)行計(jì)劃中Pstart、Pstop兩個字段)
PARTITION RANGE SINGLE:掃描單個分區(qū)(具體哪些分區(qū)可參考執(zhí)行計(jì)劃中Pstart、Pstop兩個字段)
PARTITION RANGE ITERATOR:掃描多個分區(qū)再做分區(qū)合并(具體哪些分區(qū)可參考執(zhí)行計(jì)劃中Pstart、Pstop兩個字段)

Reference Partition
Reference Partition針對的業(yè)務(wù)場景是主外鍵關(guān)聯(lián)。主表分區(qū)之后,借助Reference Partition可以實(shí)現(xiàn)自動的子表分區(qū)(不管子表上有無分區(qū)鍵)。經(jīng)過Reference Partition分區(qū)之后,在同一個主表分區(qū)中的數(shù)據(jù)記錄,對應(yīng)到的子表記錄,全部都在相同的子表分區(qū)上。

Exchange Partition
Exchange Partition就是某個分區(qū)和實(shí)體表進(jìn)行數(shù)據(jù)交換,分區(qū)的數(shù)據(jù)到了實(shí)體表,實(shí)體表的數(shù)據(jù)到了分區(qū)
You can convert a partition (or subpartition) into a nonpartitioned table, and a nonpartitioned table into a partition (or subpartition) of a partitioned table by exchanging their data segments
其實(shí)就是類似改了下數(shù)據(jù)字典,把分區(qū)和實(shí)體表的segment頭部換了下,數(shù)據(jù)存放的block沒有動

現(xiàn)實(shí)中使用Exchange Partition常見的場景如:比如有兩張分區(qū)表,一張是歷史表,一張是當(dāng)前表,需要定期把當(dāng)前表6個月前的數(shù)據(jù)導(dǎo)入歷史表怎么弄呢?
因?yàn)榉謪^(qū)表無法直接和分區(qū)表進(jìn)行數(shù)據(jù)交換,所以我們可以使用Exchange Partition的功能,使用空的實(shí)體表做中轉(zhuǎn),把當(dāng)前表6個月前的一個個分區(qū)導(dǎo)入到一個個實(shí)體表中,再把一個個實(shí)體表的數(shù)據(jù)導(dǎo)入歷史表的一個個空的新建分區(qū)(使用空的實(shí)體表原因是,當(dāng)前表和實(shí)體表做Exchange時,不會有數(shù)據(jù)寫入當(dāng)前表,Exchange后實(shí)體表再和歷史表的空的新建分區(qū)Exchange時,實(shí)體表又變成了空表)

分區(qū)表A要把一些數(shù)據(jù)遷移到分區(qū)表B
1、A表和B表的表結(jié)構(gòu)字段順序和字段名稱要一樣
2、如果兩個分區(qū)都是interval的話,是無法保證兩個分區(qū)的分區(qū)名字一樣的
原因是interval是系統(tǒng)自動命名的,中間表轉(zhuǎn)移到目標(biāo)表時,目標(biāo)表必須存在一個分區(qū)名字,才能轉(zhuǎn)換過去,但是目標(biāo)表的分區(qū)名字怎么可能會和源表的分區(qū)名字一樣呢

到此,關(guān)于“Exchange Partition是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

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

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

AI