パーティショニング

「パーティショニング」の編集履歴(バックアップ)一覧はこちら

パーティショニング - (2012/05/13 (日) 10:46:54) の1つ前との変更点

追加された行は緑色になります。

削除された行は赤色になります。

**概要 指定したカラムの内容に応じて、データを分割格納してくれる機能。 MySQL側が勝手に物理領域を分けて格納してくれるため、SELECTなどでの操作方法は変わらない。 大量データを扱う際の高速化には効果大。 ※MySQL(に限らず)では、何もしないと格納データ量の増加に伴い、  検索時間が飛躍的に増加してしまうが、この機能によりそれを抑えることが可能。  例として、単純な主キーでの検索時間が    格納件数:約 100万件(パーテイショニングなし)→0.01秒未満    格納件数:約1000万件(パーテイショニングなし)→2.00秒以上    格納件数:約1000万件(パーテイショニングあり)→0.01秒未満  などの違いになることも。(環境・設定にも大きく左右されるのであくまで一例) **使用注意点 MySQLが5.1以降であること。 分割したい項目が主キーに含まれていること。 **分割方法 |名称|説明| |RANGE|カラム値の範囲毎に分割して格納| |LIST|カラム値毎(1,3,5などの組み合せも可)に分割して格納| |HASH|カラム値を評価式(デフォルトはMOD)の結果毎に分割して格納| |KEY|カラム値の評価式(PASSWORDなど)の結果毎に分割して格納。カラムが文字列でもOK| ※上記の他にLINER HASH, LINER KEYがあり。(使用評価式が大規模分割向きのもの) **設定方法 テーブル作成時、作成後のテーブル変更どちらでも可。 個々の詳細はマニュアル、ヘルプ等を参照のこと。 以下はHASHを使用する際の作成例。 CREATE TABLE t_rate ( id INT NOT NULL, currency_id INT NOT NULL, date_time BIGINT, rate DECIMAL(12, 8), PRIMARY KEY (id, currency_id) ) ENGINE=InnoDB PARTITION BY HASH (currency_id) PARTITIONS 10; これで、内部的にcurrency_idの値毎に分割される。 操作は全てt_rateに対して行えばOK。

表示オプション

横に並べて表示:
変化行の前後のみ表示: