どのようにしてMySQLでテーブルパーティションを作成するのですか?
MySQLはPARTITION BY句を使用してテーブルをパーティション分割できます。以下の手順でテーブルのパーティション分割を作成できます。
- 一般的なテーブルを作成し、列とデータ型を定義します。
CREATE TABLE mytable (
id INT,
name VARCHAR(50),
age INT
);
- ALTER TABLEステートメントでパーティションを追加します。
ALTER TABLE mytable
PARTITION BY RANGE(id) (
PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN (20),
PARTITION p2 VALUES LESS THAN (MAXVALUE)
);
上記の例では、表は 3 つのパーティションに分割されています。パーティション p0 には、ID が 10 より小さいすべての行が含まれ、p1 には ID が 20 より小さいすべての行が含まれ、p2 には残りの行が含まれています。
- ALTER TABLE句を利用してパーティションを追加できます。
ALTER TABLE mytable
ADD PARTITION (
PARTITION p3 VALUES LESS THAN (30)
);
上記の例では、30より小さいIDの行すべてを含む、新しいパーティションp3が追加されました。
パーティション作成前は、テーブルに主キーまたは一意インデックスがないことを確認する必要があります。パーティション列は数値型または日付/時刻型の列である必要もあります。