マイムの部屋

社内SEが,興味をもったことを書いていきます.

MySQL のパーティション分け

今回は,MySQLのデータが膨大になってくるほど,クエリを投げても結果が戻ってくるのにかなりの時間かかる.

そこで,ある特定のカラムでパーティション分けを行うことで結果が戻ってくる時間が速くなります.

そのコマンドは以下のようになります.

----------------------------------------------------

alter table テーブル名

partition by range columns(createdat) (

partition パーティション名 values less than ('2013-11-02 00:00:00'),

partition パーティション名 values less than ('2013-11-03 00:00:00'),

partition パーティション名 values less than ('2013-11-04 00:00:00'),

partition パーティション名 values less than ('2013-11-05 00:00:00'));

-----------------------------------------------------

これで実行できます.

注1:パーティションは数字のみではエラーが発生します.

注2:partition パーティション名 values less than maxvalue); で最後まで入れることができます.