OceanBase logo

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

ドキュメント

会社概要

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

日本 - 日本語
International - English
中国站 - 简体中文
クラウドで始める

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

クラウドで始める
编组
すべての製品
    • データベース
    • アイコンOceanBaseデータベース
    • アイコンOceanBase Cloud
アイコン

OceanBaseデータベース

SQL - V4.4.2

    OceanBase ロゴ

    AI時代を支える分散データベース

    日本 - 日本語
    International - English
    中国站 - 简体中文
    プロダクト
    OceanBase Cloudエンタープライズ版コミュニティ版OceanBase seekdb
    会社概要
    OceanBaseについてトラストセンター法的情報お問い合わせ
    公式アカウント
    ConnpassXQiitaLumaGitHub

    © OceanBase 2026. All rights reserved

    クラウドサービス契約個人情報保護ポリシーセキュリティ
    お問い合わせ
    ドキュメントフィードバック
    1. ホーム
    2. OceanBaseデータベース
    3. SQL
    4. V4.4.2
    アイコンOceanBaseデータベース
    SQL - V 4.4.2
    データベース
    • OceanBaseデータベース
    • OceanBase Cloud
    SQL
    KV
    • V 4.4.2
    • V 4.3.5

    パーティションの手動分割と拡張

    最終更新日:2026-06-15 02:31:32  更新
    シェア
    このページの内容
    手動でのパーティションの分割・拡張のサポート状況
    使用上の制限と注意事項
    手動でのパーティションの分割・拡張構文
    パラメータの説明
    例
    関連ドキュメント

    折りたたみ

    シェア

    OceanBaseデータベースでは、パーティションテーブルに対してパーティションの分割・拡張操作を手動で実行できます。これにより、既存のパーティションを複数のパーティションに分割することが可能です。この機能を利用すると、分割対象のパーティションと新しいパーティションの分割ポイントを指定して手動で分割コマンドを実行し、ニーズやデータの増加状況に応じてパーティションを調整できます。

    手動でのパーティションの分割・拡張のサポート状況

    現在のバージョンでは、Rangeパーティションを持つパーティションテーブルに対してのみ、手動でのパーティションの分割・拡張操作をサポートしています。

    使用上の制限と注意事項

    • ListパーティションやHashパーティションのテーブルは、手動での分割・拡張をサポートしていません。
    • セカンダリパーティションテーブルは、手動での分割・拡張をサポートしていません。
    • 手動で分割・拡張する対象のテーブルのパーティションキーと主キーのプレフィックスが異なる場合は、サポートされていません。
    • 主キーを持たないテーブルの手動でのパーティションの分割・拡張はサポートされていません。
    • カラムストアテーブルの手動でのパーティションの分割・拡張はサポートされていません。
    • カラムストアレプリカの手動でのパーティションの分割・拡張はサポートされていません。
    • テーブルが属するTABLEGROUP(テーブルグループ)に複数のテーブルが含まれている場合、手動でのパーティションの分割・拡張はサポートされていません。このTABLEGROUPにこのテーブルのみが含まれている場合は、サポートされます。
    • マテリアライズドビューの手動でのパーティションの分割・拡張はサポートされていません。
    • グローバルインデックスの手動での分割・拡張はサポートされていません。
    • フルテキストインデックスの手動での分割・拡張はサポートされていません。
    • 空間インデックスの手動での分割・拡張はサポートされていません。
    • ベクトルインデックスの手動での分割・拡張はサポートされていません。
    • ローカルインデックスやLOBテーブルのパーティションを個別に分割・拡張することはサポートされていません。

    手動でのパーティションの分割・拡張構文

    ALTER TABLE table_name SPLIT PARTITION partition_name split_partition_option;
    
    split_partition_option:
        split_at_format
        | split_into_format
    
    split_at_format:
        AT (value) [INTO (PARTITION [split_partition_name], PARTITION [split_partition_name])]
    
    split_into_format:
        INTO (PARTITION split_partition_name VALUES LESS THAN (value)
              [, PARTITION split_partition_name VALUES LESS THAN (value) ...]
               , PARTITION split_partition_name)
    

    パラメータの説明

    パラメータ
    説明
    table_name テーブル名を指定します。
    partition_name 分割対象のパーティション名を指定します。
    split_at_format この構文でパーティション分割を行う場合、指定された value を境界として、ソースパーティションを2つのパーティションに分割します。INTO 句を使用して、分割後のパーティションに名前を設定することもできます。
    value パーティション分割の境界(値の範囲)を指定します。
    split_partition_name 分割後の新しいパーティション名を指定します。
    split_into_format この構文でパーティション分割を行う場合、1つのパーティションを複数のパーティションに分割できます。パーティション分割で定義する value の範囲は、ソースパーティションの value の範囲と同じでなければならず、value は昇順で定義する必要があります(最後のパーティション分割の定義はできません。その value はソースパーティションと同じになります)。

    例

    Rangeパーティションのパーティションテーブル test_tbl1 を作成します。

    CREATE TABLE test_tbl1(col1 INT, col2 INT, PRIMARY KEY(col1))
        PARTITION BY RANGE(col1)
        (PARTITION p0 VALUES LESS THAN(100),
         PARTITION p1 VALUES LESS THAN(200),
         PARTITION p2 VALUES LESS THAN(300),
         PARTITION p_max VALUES LESS THAN (MAXVALUE));
    
    • test_tbl1 テーブルのパーティション p0 を 50 の値に対応する行を分割点として2つの新しいパーティションに分割します。分割後、元のパーティション p0 は2つの新しいパーティションに分かれ、新しいパーティション名はシステムが自動的に付与します。

      ALTER TABLE test_tbl1 SPLIT PARTITION p0 AT (50);
      
    • test_tbl1 テーブルのパーティション p1 を 150 の値に対応する行を分割点として2つの新しいパーティションに分割します。分割後、元のパーティション p1 は2つの新しいパーティションに分かれ、1つの新しいパーティション名を p1_1 とし、もう1つの新しいパーティション名はシステムが自動的に付与します。

      ALTER TABLE test_tbl1
          SPLIT PARTITION p1 AT (150) INTO (
              PARTITION p1_1,
              PARTITION);
      
    • test_tbl1 テーブルのパーティション p2 を 250 の値に対応する行を分割点として2つの新しいパーティションに分割します。分割後、元のパーティション p2 は2つの新しいパーティション p2_1 と p2_2 に分かれます。

      ALTER TABLE test_tbl1
          SPLIT PARTITION p2 AT (250) INTO (
              PARTITION p2_1,
              PARTITION p2_2);
      
    • test_tbl1 テーブルのパーティション p_max を 400 と 500 の値に対応する行を分割点として3つの新しいパーティションに分割します。分割後、元のパーティション p_max は3つの新しいパーティション p_max_1、p_max_2、p_max_3 に分かれます。

      ALTER TABLE test_tbl1
          SPLIT PARTITION p_max INTO (
              PARTITION p_max_1 VALUES LESS THAN (400),
              PARTITION p_max_2 VALUES LESS THAN (500),
              PARTITION p_max_3);
      
    • テーブル test_tbl1 の構造と定義を確認します。

      SHOW CREATE TABLE test_tbl1;
      

      実行結果は次のとおりです:

      +-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
      | TABLE     | CREATE TABLE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
      +-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
      | TEST_TBL1 | CREATE TABLE "TEST_TBL1" (
      "COL1" NUMBER(*,0),
      "COL2" NUMBER(*,0),
      PRIMARY KEY ("COL1")
      ) COMPRESS FOR ARCHIVE REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0
      partition by range(col1) size ('128MB')
      (partition "P8195" values less than (50),
      partition "P8196" values less than (100),
      partition "P1_1" values less than (150),
      partition "P8197" values less than (200),
      partition "P2_1" values less than (250),
      partition "P2_2" values less than (300),
      partition "P_MAX_1" values less than (400),
      partition "P_MAX_2" values less than (500),
      partition "P_MAX_3" values less than (MAXVALUE)) |
      +-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
      1 row in set
      

    関連ドキュメント

    ALTER TABLE

    前のトピック

    パーティション分割の概要
    最後

    次のトピック

    自動パーティションの分割
    次
    このページの内容
    手動でのパーティションの分割・拡張のサポート状況
    使用上の制限と注意事項
    手動でのパーティションの分割・拡張構文
    パラメータの説明
    例
    関連ドキュメント