2012-02-07 3 views
2

私は複数のパーティションテーブルの上に置くことができるという印象の下にあったので、私は次のコードを入力したときに、それは私を驚かせた:テーブルに複数のパーティションがありますか?

CREATE TABLE ParentDetails1 
(ParentID INTEGER NOT NULL, 
ParentName VARCHAR (50) NOT NULL, 
DateOfBirth DATE NOT NULL, 
Gender VARCHAR (10) CHECK (Gender IN ('m', 'f')) NOT NULL, 
CONSTRAINT ParentDetails_PK PRIMARY KEY (ParentID)) 
PARTITION BY RANGE (ParentName) 
    (partition ParentNamePartition1 VALUES LESS THAN ('B'), 
    partition ParentNamePartition2 VALUES LESS THAN ('D'), 
    partition ParentNamePartition3 VALUES LESS THAN ('F'), 
    partition ParentNamePartition4 VALUES LESS THAN ('H'), 
    partition ParentNamePartition5 VALUES LESS THAN ('J'), 
    partition ParentNamePartition6 VALUES LESS THAN ('L'), 
    partition ParentNamePartition7 VALUES LESS THAN ('N'), 
    partition ParentNamePartition8 VALUES LESS THAN ('P'), 
    partition ParentNamePartition9 VALUES LESS THAN ('R'), 
    partition ParentNamePartition10 VALUES LESS THAN ('T'), 
    partition ParentNamePartition11 VALUES LESS THAN ('V'), 
    partition ParentNamePartition12 VALUES LESS THAN ('X'), 
    partition ParentNamePartition13 VALUES LESS THAN (MAXVALUE)) 
PARTITION BY HASH (ParentID) 
    partitions 10 
PARTITION BY LIST (Gender) 
    (partition ParentGenderPartition1 VALUES ('m'), 
    partition ParentGenderPartition2 VALUES ('f')) 
CLUSTER 
    ParentContact_Cluster (ParentID); 

を...と一つだけのパーティション句があることができることを示すエラーを得ましたテーブルに入ったの?

回避策はありますか?

多くのおかげで、 ズールー

答えて

3

あなたがテーブルに1つのパーティションスキームに限定されています。そのパーティション・スキームには、解決しようとしている問題に応じて、パーティションとサブパーティションの両方が含まれる可能性があります。

1つのテーブルに複数の競合パーティショニングスキームがあるとはどういう意味ですか?

+0

私はデータベース最適化の初心者ですので、どのように動作するのかはまだ分かりません。私は、異なるカラムにパーティションを追加してより高速なクエリを助けることが可能だと考えましたが、私はサブパーティションについて少し読書していると思います。答えてくれてありがとう! –

1

あなたは何をしたいのかを行うためにサブパーティション化を使用する必要があります。 Oracle 11.2 docs

+0

あなたの答えに多くの感謝! –

関連する問題