パーティショニング

テーブル作成時の注意点

  1. パーティショニングのキーにしたいカラムは、プライマリキーに含まれている必要がある
  2. パーティションの操作はロックが掛かるので、メンテナンス中に行う

パーティションの作成

月別に別ける場合

ALTER TABLE テーブル名 PARTITION BY RANGE COLUMNS(created_at) (
	PARTITION p201610 VALUES LESS THAN ('2016-11-01 00:00:00') COMMENT='2016-10',
	PARTITION p201611 VALUES LESS THAN ('2016-12-01 00:00:00') COMMENT='2016-11',
		:
		:
	PARTITION p201912 VALUES LESS THAN ('2020-01-01 00:00:00') COMMENT='2019-12',
	PARTITION pmax VALUES LESS THAN MAXVALUE
)

パーティションの振り分けを確認

SELECT TABLE_SCHEMA,PARTITION_NAME,PARTITION_ORDINAL_POSITION,TABLE_ROWS
FROM INFORMATION_SCHEMA.PARTITIONS
WHERE TABLE_NAME="テーブル名"

どのパーティションが使われているか

SQL コマンドの前に “EXPLAIN PARTITIONS” を付ける。

EXPLAIN PARTITIONS
SELECT *
FROM テーブル名
WHERE created_at >= "2016-10-01 00:00:00" && created_at < "2016-12-01 00:00:00"

パーティションの削除(中のデータも消える)

ALTER TABLE テーブル名 DROP PARTITION パーティション名

sql/パーティショニング.txt · 最終更新: 2018/11/09 08:33 by admin
 
特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC Attribution-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki