MySQLを使用して日付でパーティショニングされたテーブルを作成する方法

MySQLはパーティションテーブルを使用することで日付でパーティションできます。日付でパーティションするテーブルを作成する方法を以下に示します。

  1. パーティションする列とその他必要な列を含む新しいテーブルを作成します。
CREATE TABLE my_table (
    id INT,
    date_column DATE,
    other_column VARCHAR(255),
    ...
) PARTITION BY RANGE(TO_DAYS(date_column));
  1. パーティションの作成
ALTER TABLE my_table 
    PARTITION BY RANGE(TO_DAYS(date_column)) (
    PARTITION p0 VALUES LESS THAN (TO_DAYS('2022-01-01')),
    PARTITION p1 VALUES LESS THAN (TO_DAYS('2022-02-01')),
    PARTITION p2 VALUES LESS THAN (TO_DAYS('2022-03-01')),
    ...
);

その結果、各パーティションは特定時間の範囲内にあるデータを持つことになります。

  1. データを挿入する
INSERT INTO my_table (id, date_column, other_column, ...)
VALUES (1, '2022-01-01', 'value1', ...),
       (2, '2022-01-02', 'value2', ...),
       ...

挿入されたデータは日付基準で自動的に各パーティションに割り当てられる。

同様に、各月パーティションを作成することで、日付範囲によるデータの検索、管理が容易になります。

bannerAds