MySQLでパーティションテーブルを作成する方法
MySQL では、以下の手順でパーティション化されたテーブルを作成できます。
- 列とそのほかの属性を定義する標準のテーブルを作成します。
- パーティションの指定を追加するには、ALTER TABLE ステートメントを使用します。PARTITION BY RANGE など、指定した列値の範囲に基づいてパーティションを作成できます。
- 各パーティションの範囲は、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はデータを自動的にさまざまなパーティションに分散し、照会パフォーマンスの向上とデータ管理を可能にします。