ORACLE10g新特性——全域性HASH分割槽索引

路途中的人2012發表於2017-09-21

這兩天看文件時發現,Oracle10g中新增了全域性分割槽索引的型別——HASH分割槽。

 

 

10g以前,Oracle的全域性索引分割槽方法只有一種,即範圍分割槽。

SQL> CREATE TABLE T_PART_INDEX (ID NUMBER, NAME VARCHAR2(30), CREATE_DATE DATE);

表已建立。

SQL> INSERT INTO T_PART_INDEX SELECT ROWNUM, OBJECT_NAME, CREATED FROM DBA_OBJECTS;

已建立57477行。

SQL> COMMIT;

提交完成。

SQL> CREATE INDEX IND_PART_INDEX_CREATE
  2  ON T_PART_INDEX (CREATE_DATE) GLOBAL
  3  PARTITION BY RANGE (CREATE_DATE)
  4  (PARTITION P1 VALUES LESS THAN (TO_DATE('2008-1-1', 'YYYY-MM-DD')),
  5  PARTITION P2 VALUES LESS THAN (TO_DATE('2009-1-1', 'YYYY-MM-DD')),
  6  PARTITION PMAX VALUES LESS THAN (MAXVALUE));

索引已建立。

而在10g中,Oracle新增了一種全域性索引的分割槽方式,使用者可以選項HASH分割槽方式對全域性索引進行分割槽:

SQL> CREATE INDEX IND_PART_INDEX_ID
  2  ON T_PART_INDEX (ID) GLOBAL
  3  PARTITION BY HASH (ID)
  4  PARTITIONS 16;

索引已建立。

這種全域性雜湊分割槽索引比較適合像ID這種資料增長型索引,透過HASH演算法,可以將遞增的索引鍵值分佈到多個分割槽上,從而避免系統爭用。

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29067253/viewspace-2145299/,如需轉載,請註明出處,否則將追究法律責任。

相關文章