ホームページ >バックエンド開発 >PHPチュートリアル >【Baidu Share】MySQL 5.1パーティショニング技術に関する予備調査(2) ソリューション

【Baidu Share】MySQL 5.1パーティショニング技術に関する予備調査(2) ソリューション

WBOY
WBOYオリジナル
2016-06-13 13:51:581107ブラウズ

[Baidu Share] MySQL 5.1 パーティショニング テクノロジに関する予備調査 (2)
2. MySQL パーティショニングの概要
MySQL のパーティショニング テクノロジは、以前のテーブル パーティショニング テクノロジとは異なります。水平テーブル パーティショニングと多少似ていますが、は論理層で実行されます。水平テーブルは依然としてアプリケーションにとってのテーブルです。
2.1 MySQL パーティション タイプ
MySQL 5.1 には 5 つのパーティション タイプがあります。
RANGE パーティション: 指定された連続間隔に属する列値に基づいて複数の行をパーティションに割り当てます。
LIST パーティション: 類似しています。 RANGE によるパーティショニングとの違いは、LIST パーティショニングが離散値セット内の特定の値に一致する列値に基づいて選択されることです。HASH パーティショニング: ユーザー定義式の戻り値に基づいてパーティショニングが選択され、式が計算されます。テーブルに挿入される行の列値を使用します。この関数には、負でない整数値を生成する MySQL の有効な式を含めることができます。
KEY パーティショニング: HASH パーティショニングと似ていますが、異なる点は、KEY パーティショニングが 1 つ以上のカラムの計算のみをサポートし、MySQL サーバーが独自のハッシュ関数を提供することです。
2.2 RANGE パーティション
RANGE パーティションの例を示します。
例 1. 20 のビデオ店の従業員レコードを保存するテーブルを次のように作成するとします。これらの 20 のビデオ店には 1 から 1 までの番号が付けられます。 20. 4 つの小さなパーティションに分割する場合は、RANGE パーティショニングを使用できます。作成されたデータベース テーブルは次のとおりです。

この例では、そのキーは整数データです。フィールドとしては使えないのでしょうか?答えは「いいえ」です。例 2 はこの状況を示しています。
例 2. 20 のビデオ ストアの従業員レコードを保持する次のようなテーブルを作成するとします。20 のビデオ ストアには 1 から 20 までの番号が付けられます。異なる期間に退職した従業員を個別に保存したい場合は、日付フィールド (退職時刻) をキーとして使用できます。 作成される SQL ステートメントは次のとおりです。

このようにして、日付型フィールドを格納できます。mysql の日付関数 YEAR() を呼び出して整数型に変換し、RANGE パーティションのキーとして使用できます。この時点で、パーティション化後の物理ファイルは比較的独立していることがわかります。

各パーティションには独自の独立したデータ ファイルとインデックス ファイルがあることがわかります。これが、特定のクエリを実行するときに、アクセスする必要があるデータ ブロックのみにアクセスし、結果ではない物理ブロックにはアクセスするため、システムの効率が大幅に向上します。


-----解決策--------------------------------JF。 。 。ソファー

------解決策---------これはよくわかりませんが、それでも一度サポートしてください。

-----解決策---------私も分かりません

-----解決策---------わかりません!

------解決策---------とても簡単です、笑

------解決策---------めまいがする〜

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。