スポンサーリンク

MySQL キーパティショニング

キーによるパーティショニングは、ハッシュによるパーティショニングに似ています。キーパティショニングのためにハッシュ関数が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";

MySQL関連記事
[2008-08-09-2] MySQL ハッシュパーティショニング
[2008-08-08-2] MySQL リストパーティショニング
[2008-08-08-1] MySQL レンジパーティショニングの使い方
[2008-08-07-2] MySQLが実行したクエリをログに落とす方法
[2008-08-07-1] MySQLがパーティショニングをサポートしているか調べる
[2008-08-05-2] MySQL パーティショニングのタイプ
[2008-08-05-1] MySQL 行ベースレプリケーションのメリットとデメリット
[2008-08-04-2] MySQL ステートメントベースレプリケーションが使えないケース
参照しているページ (サイト内): [2008-08-27-1] [2008-08-16-2] [2008-08-10-2]

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー