PolarDB for PostgreSQL (Compatible with Oracle) は、パーティション数が指定されたハッシュパーティションテーブルを作成するための簡単な構文を提供します。
ハッシュパーティションの作成
構文
テーブルを作成... PARTITION BY HASH (part_params) PARTITIONS番号;
構文で使用されるパラメーターを次の表に示します。
パラメーター | 説明 |
part_params | パーティションフィールド。 |
数値 | ハッシュパーティションの数。 |
次の例は、対応するステートメントを示しています。
CREATE TABLE part_hash (deptno NUMBER, deptname VARCHAR (32))
HASH(deptno) パーティションによるパーティション4;
ハッシュサブパーティションの作成
構文
テーブルを作成... PARTITION BY part_strategy ( part_params) SUBPARTITION BY HASH ( part_params) SUBPARTITIONS number ( table_partitions_list );
構文で使用されるパラメーターを次の表に示します。
パラメーター | 説明 |
part_strategy | パーティション分割テーブルのタイプ。 次のタイプがサポートされています。
|
part_params | パーティションフィールド。 |
table_partitions_list | パーティション定義のリスト。 |
数値 | ハッシュサブパーティションの数。 |
- 分割タイプはRANGEであり、サブ分割タイプはHASHである。 次の例は、対応するステートメントを示しています。
(prod_id NUMBER(6) 、 cust_id番号、 time_id日付, channel_id CHAR(1) 、 promo_id番号 (6) 、 quantity_sold NUMBER(3) 、 amount_sold番号 (10,2) ) PARTITION BY RANGE (time_id) SUBPARTITION BY HASH (cust_id) 分割4 (PARTITION sales_q1_2006は以下の値を示します (TO_DATE('01-APR-2006 ','dd-MON-yyyy')))() SUBPARTITION q1_europe、 SUBPARTITION q1_asia、 SUBPARTITION q1_americas ), PARTITION sales_q2_2006は以下の値です (TO_DATE('01-JUL-2006 '、'dd-MON-yyyy')) 、 PARTITION sales_q3_2006値より少ない値 (TO_DATE('01-OCT-2006 '、'dd-MON-yyyy')) 、 PARTITION sales_q4_2006は以下の値です (TO_DATE('01-JAN-2007 '、'dd-MON-yyyy')) );
- パーティショニングタイプとサブパーティショニングタイプは両方ともHASHです。 次の例は、対応するステートメントを示しています。
(prod_id NUMBER(6) 、 cust_id番号、 time_id日付, channel_id CHAR(1) 、 promo_id番号 (6) 、 quantity_sold NUMBER(3) 、 amount_sold番号 (10,2) ) PARTITION BY HASH (prod_id) SUBPARTITION BY HASH (cust_id) パーティー4サブパーティー4;