Oracleの非パーティション索引、グローバル・パーティション索引とローカル索引パーティション

1.部門のための基礎として、インデックス・パーティションは、Oracleのインデックス・タイプは、非パーティション索引、グローバル・パーティション索引とローカル索引パーティションに分けることができるかどうかに基づいている場合。

 2.ケースI

- 非パーティション表を作成します。

表text01作成
 (NUM1番号、
 NUM2番号、
STR1 VARCHAR2(10)、
表領域yysms_cache STR2 VARCHAR2(20))。

       
- ライトデータ
Text01 INSERT INTO 
SELECTのdbms_random.random()NUM1、AS -ランダム整数
としてラウンド(dbms_random.value(0,1000)) NUM2、 1から1000のランダムな整数
dbms_random.string(OPT => 'A' 、LEN => 1)0009、ランダムな文字として
dbms_random.string(OPT => 'P' 、STR2として)=> 10 lenの10個のランダムな文字
デュアルから
接続ROWNUM <100によって、 - 99サイクルデータ線挿入された挿入
コミットします。
-ローカル・パーティション索引の作成しようと、エラーを
Text01インデックスON(NUM1)を作成ix_text01_par 
ローカル(パーティションP1、
       パーティションP2、
       ;パーティションP3)を
--ORA-14016必須パーティションテーブルベースローカル・パーティション索引。エラーの原因は、非パーティション表の新しいインデックスのためのLOCALパラメータを使用することです
---通常のインデックスを作成します。 
text01(num01)にix_text01_parインデックスを作成します。
- グローバルなパーティション索引を作成します。
INDEXをCREATE ix_test01_par ON TEST01(NUM2)
   GLOBAL PARTITION BY RANGE(NUM2) パーティションP1が(10000未満の値)、
       パーティションP2未満(55000)、VALUES 
       PARTITION P3は値未満(MAXVALUE))。
結論:非パーティション表には、共通のグローバルなパーティション索引を作成することができ、インデックスパーティションがローカル索引を作成することはできません。
-------------------------------------------------- -----------------------------
-------------------------------------------------- -----------------------------

3.ケースII
-パーティションテーブルを作成します
表text02(作成
NUM1番号、
NUM2番号、
STR1のVARCHAR2(10)、
STR2のVARCHAR2(20) の範囲によってパーティション(NUM2) 
パーティションP1の値以下(10000)、より
パーティションP2の値未満(20000)、
パーティションP3の値未満(50000)、
パーティションP4値未満(70000)、
パーティションP5値未満(MAXVALUE) 
)。

 - ローカル・パーティション索引を作成しよう

ON ix_text02_par INDEXは(NUM)を作成test_partiton_02 
(パーティションP1、ローカル
       パーティションP2、
       PARTITIONのP3、
       PARTITIONのP4、
       PARTITIONのP5を
       ); 
-パーティションの数は、基礎となる表のパーティションの数のインデックスに等しくなければならない
--dropインデックスix_text02_par。
ix_text02_par ON text_partiton_02(NUM1)ローカル索引の作成、 - 上記と同等の方法を作成します
インデックスix_text02_par --drop; 
INDEX ix_text02_par ON Text02(NUM1)を作成します。 -デフォルトの非パーティション索引は、パーティションインデックスCaifenグローバルインデックスまたはローカル索引が作成しました。
---グローバルなパーティション索引を作成します
INDEXをCREATE ix_text02_par ON text02(NUM2)
   GLOBAL PARTITION BY RANGE(NUM2) パーティションP1が(10000未満の値)、
       パーティションP2未満(55000)、VALUES 
       PARTITION P3は値未満(MAXVALUE))。
- ライトデータ
Text02 INSERT INTO 
SELECTのdbms_random.random()NUM1、AS -ランダム整数
ラウンド(dbms_random.value(0,1000))ランダム整数NUM2としての1-1000 
(OPT => 'A' dbms_random.string 、LEN => 1)0009、ランダムな文字として
dbms_random.string(OPT => 'P' 、STR2として)=> 10 lenの10個のランダムな文字
デュアルから
接続ROWNUM <100によって、 - 99サイクルデータ線挿入された挿入
コミットします。

 

表4.分析
テーブルtext02の計算統計を分析。
---結論変化とグローバルなパーティション索引をゾーニング一般的な指標は、ローカルでのみパーティション索引Haoshiを失敗します
次の文でインデックス定義文の最高の眺め
DBMS_METADATA.GET_DDL(OBJECT_TYPE => 'INDEX'を選択する
                             名=> 'IX_TEXT02_PAR')
  DUAL FROM。
        

  



 



  

  

  

 


  

  

  


  

おすすめ

転載: www.cnblogs.com/lyywml/p/12176707.html