https://dev.mysql.com/doc/refman/8.0/ja/partitioning-overview.html
https://qiita.com/ta1m1kam/items/4adc074bd35caec05b64
パーディション化、パーティショニングとは、1つのテーブルを分割してそれぞれを別の物理領域に保存する機能。
レコードがどのパーティションに保存されるかは、特定項目の値によって決められる。
・データ参照時にオプティマイザが、対象のパーティションのみを参照することで高速化できる
・パーディション単位のでデータ削除が速い
・検索でパーディション項目を条件に含めることで、指定されたデータのパーディション以外は検索しないことで高速化できる
・検索でパーディションを直接指定して、特定パーティション以外からデータを検索しない指定をすることで高速化できる
MySQLで、パーディション化したテーブルの作成SQL例。
CREATE TABLE partition_record ( id INT NOT NULL AUTO_INCREMENT, created_at DATETIME NOT NULL, test_text VARCHAR(500) NOT NULL, PRIMARY KEY (id, created_at) ) PARTITION BY RANGE (YEAR(created_at)) ( PARTITION pl VALUES LESS THAN (2015), PARTITION p2015 VALUES LESS THAN (2016), PARTITION p2016 VALUES LESS THAN (2017), PARTITION p2017 VALUES LESS THAN (2018), PARTITION p2018 VALUES LESS THAN (2019), PARTITION p2019 VALUES LESS THAN (2020), PARTITION pu VALUES LESS THAN MAXVALUE );