マクロミルアンケートモニタ
200万人が参加のアンケートサイト! 楽しく!簡単に!ポイントが貯まる! 貯めたポイントはお小遣いに♪
キーパティショニング
キーによるパーティショニングは、ハッシュによるパーティショニングに似ている キーパティショニングのためにハッシュ関数がMySQLサーバによって使われ、 この目的のためにMySQLクラスタは、MD5()を使います。
シンタックス CREATE TABLE table_name (... ) PARTITION BY KEY() PARTITIONS n;
CREATE TABLE k1 ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) ) PARTITION BY KEY() PARTITIONS 2;
テストデータを挿入 INSERT INTO k1(name) VALUES("a"),("b"),("c");
パーティションの利用状況を調べてみる EXPLAIN PARTITIONS SELECT * FROM k1 WHERE id=1; EXPLAIN PARTITIONS SELECT * FROM k1 WHERE id=2;
実行結果 mysql> EXPLAIN PARTITIONS SELECT * FROM k1 WHERE id=1\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: k1 partitions: p0 type: const possible_keys: PRIMARY key: PRIMARY key_len: 4 ref: const rows: 1 Extra: 1 row in set (0.00 sec) mysql> EXPLAIN PARTITIONS SELECT * FROM k1 WHERE id=2\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: k1 partitions: p1 type: const possible_keys: PRIMARY key: PRIMARY key_len: 4 ref: const rows: 1 Extra: 1 row in set (0.00 sec)
CREATE TABLE k2 ( name VARCHAR(20) PRIMARY KEY ) PARTITION BY KEY(name) PARTITIONS 3; INSERT INTO k2(name) VALUES("a"),("b"),("c"); EXPLAIN PARTITIONS SELECT * FROM k2 WHERE name="a";
[0回]