2

私はMySQLの初心者なので。PARTITIONこのMySQLステートメントではどういう意味ですか?

CREATE TABLE employees (
    id INT NOT NULL,
    fname VARCHAR(30),
    lname VARCHAR(30),
    hired DATE NOT NULL DEFAULT '1970-01-01',
    separated DATE NOT NULL DEFAULT '9999-12-31',
    job_code INT NOT NULL,
    store_id INT NOT NULL
)
PARTITION BY RANGE (store_id) (
    PARTITION p0 VALUES LESS THAN (6),
    PARTITION p1 VALUES LESS THAN (11),
    PARTITION p2 VALUES LESS THAN (16),
    PARTITION p3 VALUES LESS THAN (21)
);
4

2 に答える 2

3

パーティショニングは、テーブルストレージを事前に編成する方法です。「テーブルの行の一部はここに移動し、一部はそこに移動し、さらに他の行はさらに他の場所に移動します」と言うことができます。多くの場合、ストレージエンジンによっては、テーブルの行を別のファイルまたは別のディスクに分散させる効果があります。

From:MySQL 5.1新機能:MySQLパーティション


これが特に役立つシナリオをよりよく理解するために、 「水平分割」に関する詳細情報を探すことにも興味があるかもしれません。

于 2010-04-01T11:14:32.913 に答える
2

パーティショニングは、異なるバケットに分割することにより、テーブルに格納されているデータを整理するのに役立ちます。

これは、図書館がさまざまな主題の棚の別々のセクションを持っている方法に似ていますが、カタログ/インデックスカードの引き出しは通常アルファベット順に分けられています。

これは2つの点で役立ちます。

  1. パーティショニングを使用すると、物理ストレージを管理する方が簡単です。たとえば、1つの戦略は、パーティションのストレージごとに個別のディスクを用意することです。これは通常、データを複数の物理ディスクにバランスよく分散させるのに役立ちます。
  2. データベースは、取得する必要のある限られたパーティションを識別することにより、データの取得と配信を最適化できます。パーティショニングは通常、物理ストレージの特性を考慮して行われます。したがって、取得中であっても、データベースエンジンは通常、特定のパーティションからのみ読み取る必要があるため、物理ストレージからデータのブロック全体を読み取ることができます。

詳細を確認できるリンクは次のとおりです。

ウィキペディアの記事: http: //en.wikipedia.org/wiki/Partition_ (database )

パーティションに関するMySQLドキュメント:http://dev.mysql.com/doc/refman/5.5/en/partitioning.html

于 2012-10-12T07:18:53.973 に答える