すべてのプロダクト
Search
ドキュメントセンター

PolarDB:テーブルを作成... PARTITION BY HASH

最終更新日:May 28, 2024

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パーティション分割テーブルのタイプ。 次のタイプがサポートされています。
  • RANGE
  • リスト
  • HASH
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; 

関連ドキュメント

テーブルを作成... パーティー