一.表分區(qū)策略

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)雞西免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
1.識別大表
采用ANALYZE TABLE語句進(jìn)行分析,然后查詢數(shù)據(jù)字典獲得相應(yīng)的數(shù)據(jù)量。
2.大表如何分區(qū)
可根據(jù)月份,季度以及年份等進(jìn)行分區(qū);
3.分區(qū)的表空間規(guī)劃
要對每個表空間的大小進(jìn)行估計
二.創(chuàng)建表分區(qū)
a.創(chuàng)建范圍分區(qū)的關(guān)鍵字是'RANGE'
1.范圍分區(qū)
create table ware_retail_part --創(chuàng)建一個描述商品零售的數(shù)據(jù)表
(
id integer primary key,--銷售編號
retail_date date,--銷售日期
ware_name varchar2(50)--商品名稱
)
partition by range(retail_date)
(
--2011年第一個季度為part_01分區(qū)
partition par_01 values less than(to_date('2011-04-01','yyyy-mm-dd')) tablespace TEMP01,
--2011年第二個季度為part_02分區(qū)
partition par_02 values less than(to_date('2011-07-01','yyyy-mm-dd')) tablespace TEMP01,
--2011年第三個季度為part_03分區(qū)
partition par_03 values less than(to_date('2011-10-01','yyyy-mm-dd')) tablespace TEMP01,
--2011年第四個季度為part_04分區(qū)
partition par_04 values less than(to_date('2012-01-01','yyyy-mm-dd')) tablespace TEMP01
);
2.創(chuàng)建散列分區(qū)
3.組合分區(qū):
4.interval 分區(qū)
三.創(chuàng)建索引分區(qū)
索引分區(qū)分為本地索引分區(qū)和全局索引分區(qū),全局索引不反應(yīng)基礎(chǔ)表的結(jié)構(gòu),要分區(qū)只能進(jìn)行范圍分區(qū)。
創(chuàng)建索引分區(qū)要參照表分區(qū)
四.分區(qū)技術(shù)簡介
優(yōu)點(diǎn):
1.減少維護(hù)工作量
2.增強(qiáng)數(shù)據(jù)的可用性
3.均衡I/O,提升性能
4.提高查詢速度
5.分區(qū)對用戶保持透明,用戶感覺不到分區(qū)的存在。
五,管理表分區(qū)
1.添加表分區(qū)
ALTER TABLE...ALTER PARATITION
2.合并表分區(qū)
3.刪除分區(qū)
ALTER TABLE...DROP PARTITION
刪除分區(qū)時,里面的數(shù)據(jù)也會被刪除。
-創(chuàng)建表和分區(qū)
create table sales--創(chuàng)建一個銷售記錄表
(
id number primary key,--記錄編號
goodsname varchar2(10),--商品名
saledate date--銷售日期
)
partition by range(saledate)--按照日期分區(qū)
(
--第一季度數(shù)據(jù)
partition part_sea1 values less than(to_date('2011-04-01','yyyy-mm-dd')) tablespace tbsp_1,
--第二季度數(shù)據(jù)
partition part_sea2 values less than(to_date('2011-07-01','yyyy-mm-dd')) tablespace tbsp_2,
--第三季度數(shù)據(jù)
partition part_sea3 values less than(to_date('2011-10-01','yyyy-mm-dd')) tablespace tbsp_1,
--第四季度數(shù)據(jù)
partition part_sea4 values less than(to_date('2012-01-01','yyyy-mm-dd')) tablespace tbsp_2
);
--創(chuàng)建局部索引
create index index_3_4 on sales(saledate)
local(
partition part_seal tablespace tbsp_1,
partition part_sea2 tablespace tbsp_2,
partition part_sea3 tablespace tbsp_1,
partition part_sea4 tablespace tbsp_2
);
--并入分區(qū)
alter table sales merge partitions part_sea3,part_sea4 into partition part_sea4;
--重建局部索引
alter table sales modify partition part_sea4 rebuild unusable local indexes;
六.管理索引分區(qū)
刪除索引:DROP PARTITION
重建分區(qū):REBUILT PARTITION
更名索引分區(qū):RENAME PARTITION
分割索引分區(qū):SPLIT PARTITION
1、創(chuàng)建語句
create table p(id number)
partition by range(id)
(partition p1 values less than(100) tablespace t1,
partition p2 values less than(200) tablespace t2,
partition p3 values less than(300) tablespace t3);
2、添加分區(qū)
alter table p add partition p4 values less than (400) tablespace t4;
3、清除分區(qū)數(shù)據(jù)
alter table p trunc partition p1;
4、刪除分區(qū)
alter table p drop partition p1;
1.高效的分區(qū)消除
分區(qū)表存在的最大意義在于,可以有效地做到分區(qū)消除
分區(qū)表其實是將一個大對象分成了多個小對象
同樣的語句查詢有相同記錄的表,分區(qū)表的查詢代價僅為111,邏輯讀僅為566,而普通表的代價卻為1298,邏輯讀為5990,性能方面有著天壤之別。差別如此之大,應(yīng)該是和分區(qū)表查詢只遍歷了13個分區(qū)中的一個有關(guān)。在分區(qū)表查詢的執(zhí)行計劃中p_start和p_stop都標(biāo)記上9,表示只遍歷了第9個分區(qū)。這樣避開了對其余12個分區(qū)的查詢,就是分區(qū)消除
測試針對普通表的增加了 area_code 條件的相同 SQL 語句:
組合分區(qū)導(dǎo)致范圍定位得更小了,只產(chǎn)生了60個邏輯讀,比之前的566個邏輯讀還要少。至于普通表的查詢,因為始終是全表掃描,所以邏輯讀依然和之前差不多,達(dá)到5931個。
組合分區(qū)雖然只有60個邏輯讀,比之前范圍分區(qū)的566個要少得多,但是代價卻差不多,甚至還略大于之前的,因為分區(qū)數(shù)過多,調(diào)用有開銷。在試驗中,表的總記錄數(shù)不過10萬,全表掃描開銷都不是太大,這時Oracle內(nèi)部調(diào)用的開銷影響就相對較大。如果表是一張超級大表,比如有上億條記錄,那這些開銷相比而言就可以忽略不計了,
分區(qū)表應(yīng)用在大表上更合適,至少要大于100萬條記錄的表方可考慮。
網(wǎng)站名稱:oracle分區(qū)怎么處理,分區(qū)消除 oracle
當(dāng)前路徑:http://chinadenli.net/article19/dseejgh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、App設(shè)計、網(wǎng)站設(shè)計、電子商務(wù)、標(biāo)簽優(yōu)化、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)