MySQLでパーティションテーブルを作成する方法

MySQL では、以下の手順でパーティション化されたテーブルを作成できます。

  1. 列とそのほかの属性を定義する標準のテーブルを作成します。
  2. パーティションの指定を追加するには、ALTER TABLE ステートメントを使用します。PARTITION BY RANGE など、指定した列値の範囲に基づいてパーティションを作成できます。
  3. 各パーティションの範囲は、PARTITIONキーワードと該当するパーティション名を使用して定義します。たとえば、PARTITION p1 VALUES LESS THAN (100)は、100未満の範囲のパーティションを定義します。

年範囲をパーティションするパーティション テーブルを作成する方法を以下に例示します。

CREATE TABLE sales (
id INT NOT NULL,
sale_date DATE,
amount DECIMAL(10,2)
) PARTITION BY RANGE(YEAR(sale_date)) (
PARTITION p0 VALUES LESS THAN (2015),
PARTITION p1 VALUES LESS THAN (2016),
PARTITION p2 VALUES LESS THAN (2017),
PARTITION p3 VALUES LESS THAN (2018)
);

上記の例では、salesテーブルは年範囲でパーティションされており、各パーティションの範囲はPARTITION文で定義されています。たとえば、PARTITION p1 VALUES LESS THAN (2016)は2016年より前のデータをすべて含むパーティションを定義しています。

パーティションテーブルを作成すると、通常のテーブルと同様に、照会、挿入、更新、削除の操作を適用できるようになります。MySQLはデータを自動的にさまざまなパーティションに分散し、照会パフォーマンスの向上とデータ管理を可能にします。

bannerAds