oracle的分區索引和全域索引

來源:互聯網
上載者:User

分區索引就是在所有每個區上單獨建立索引,它能自動維護,在drop或truncate某個分區時不影響該索引的其他分區索引的使用,也就是索引不會失效,維護起來比較方便,但是在查詢效能稍微有點影響。

建立分區索引:

create index idx_ta_c2 on ta(c2) local (partition p1,partition p2,partition p3,partition p4);

或者 create index idx_ta_c2 on ta(c2) local ;

另外在create unique index idx_ta_c2 on ta(c2) local ;系統會報ORA-14039錯誤,這是因為ta表的分區列是c1,不支援在分區表上建立PK主鍵或主鍵列不包含分區列,建立唯一約束也不可以這樣。

分區索引只支援分區內的唯一性,無法支援表上的唯一性,因此如果要用局部索引去給表做唯一性限制式,則約束中必須要包括分區鍵列

ALTER TABLE TEST ADD CONSTRAINT PK_TEST PRIMARY KEY (SEQ_ID,PARTITION_ID) USING INDEX LOCAL;

全域索引就是在全表上建立索引,它可以建立自己的分區,可以和分區表的分區不一樣,也就是它是獨立的索引。

建立全域索引:

create index idx_ta_c3 on ta(c3) global;

在drop或truncate某個分區時需要建立索引alter index idx_xx rebuild,也可以通過alter table table_name drop partition partition_name update global indexes;實現,但是如果資料量很大則要花很長時間在重建索引上。

可以通過查詢user_indexes、user_part_indexes和user_ind_partitions視圖來查看索引是否有效。

create index idx_ta_c3 on ta(c3);

更多精彩內容:http://www.bianceng.cn/database/Oracle/

或者把全域索引分成多個區(注意和分區表的分區不一樣):

create index idx_ta_c4 on ta(c4) global partition by range(c4)(partition ip1 values less than(10000),partition ip2 values less than(20000),partition ip3 values less than(maxvalue));

注意全域索引上的引導列要和range後列一致,否則會有ORA-14038錯誤。如不能這樣寫:create index idx_ta_c4 on ta(c1) global partition by range(c4)(partition ip1 values less than(10000),partition ip2 values less than(20000),partition ip3 values less than(maxvalue));

oracle會對主鍵自動建立全域索引

如果想使某個分區索引置為不可用則可以用如下指令碼:

alter index idx_tab1 modify partition "ind partition name" unusable

如果想在主鍵的列上建立分區索引,除非主鍵包括分區鍵,還有就是主鍵建在兩個或以上列上,否則不能建立。

在頻繁刪除表的分區且資料更新比較頻繁時為了維護方便要避免使用全域索引。

匯出子分區:exp test1/test1 tables=ta:p1 file=part_1.dmp

分區用到的視圖:

user_tab_partitions,

user_part_indexes,

user_part_tables,

user_partial_drop_tabs,

user_part_indexes

user_part_key_columns

本文出自 “richard的筆記-積微成著” 部落格,請務必保留此出處http://zxf261.blog.51cto.com/701797/886336

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.