Oracleで表のパーティションを作成する方法は何ですか?
Oracleのテーブルパーティショニングの方法は2つあります:手動パーティショニングと自動パーティショニング。
- 手動パーティション:手動パーティション方法を使用すると、テーブルを作成する際に、パーティションの数とパーティションキーを明示的に指定する必要があります。パーティションキーは、テーブル内の1つまたは複数の列であり、特定の値の範囲に基づいてデータを異なるパーティションに分散させるために使用されます。例えば、時間の範囲、地理的位置、またはその他のビジネス要件に従ってパーティションを行うことができます。
以下は、テーブルを作成する際の手動パーティション構文の例です。
CREATE TABLE table_name (
column1 data_type,
column2 data_type,
...
)
PARTITION BY RANGE (partition_key)
(
PARTITION partition_name1 VALUES LESS THAN (value1),
PARTITION partition_name2 VALUES LESS THAN (value2),
...
);
- 自動パーティション:Oracleは自動パーティションの方法を使用し、事前定義されたルールに従って自動的にパーティションを作成します。自動パーティションを行うためには、まずパーティションテンプレートを作成し、パーティションキー、パーティション戦略、およびパーティションの命名規則を定義する必要があります。そして表を作成する際に、パーティションテンプレートを使用してパーティションを指定します。
以下は、テーブルを作成する際の自動パーティション構文の例です。
CREATE TABLE table_name (
column1 data_type,
column2 data_type,
...
)
PARTITION BY RANGE (partition_key)
SUBPARTITION BY HASH (subpartition_key)
SUBPARTITIONS 4
STORE IN (tablespace_name)
(
PARTITION BY RANGE (partition_key) INTERVAL (interval_value)
(
SUBPARTITION partition_name1 VALUES LESS THAN (value1),
SUBPARTITION partition_name2 VALUES LESS THAN (value2),
...
)
);
注意:自動分割を使用するには、データベースで分割機能を有効にし、分割テーブルスペースのサポートが必要です。