クラスタ化された主キーのインデックスを選択し、

まず、クラスタ化インデックスは何ですか?

まず、クラスタ化インデックスは、データが格納されているか、実際には、別のインデックスのタイプではありません。インデックスはデータを見つける見つけ、クラスタ化インデックスは、データを格納し、インデックスが一緒に入れ。

MySQLのInnoDBエンジンでは、ファイル・テーブル・データは、組織に応じてB +ツリーインデックス構造です。クラスタ化インデックスに従って各テーブルの主キーがB +ツリーのリーフノードは、データテーブルの行全体で、クラスタ化インデックスのリーフノードは、データ・ページと呼ばれて構成されています。

第二に、非クラスタ化インデックスは何ですか?

1. InnoDBエンジン

他の人もセカンダリインデックス、セカンダリインデックスと呼ばれる非クラスタ化インデックスに属しプレフィックス指数、関節のインデックス、インデックスのみから作成しながら、プライマリキーインデックスは、クラスタ化インデックスの一種です。

インデックスキー値を含む二次インデックス・リーフ・ノード、およびそれらのクラスタ化インデックスキー(主キー)。

非クラスタ化インデックスの主キーの値によって、最初の発見をした後、主キーの値に基づいてクラスタ化インデックスを介してデータに対応するラインを見つける:セカンダリインデックスが通過する必要があるすべてへのアクセスは、2つのインデックスを見つけるために
ここに画像を挿入説明
ここに画像を挿入説明

2.のMyISAMエンジン

MyISAMテーブルでは、インデックスファイルとデータファイルは、アドレスのみのデータラインのセーブ別のインデックスファイルです。主キーのインデックスと他のインデックスは、非クラスタ化インデックス、データ格納アドレスのみの葉の行です。

ここに画像を挿入説明

第三に、クラスタ化インデックスを選択するために、メインキーの長所と短所との関係

まず理由は、InnoDBのデータ構造のため、実際には、各InnoDBテーブルのためにクラスタ化インデックスを構築することを余儀なくされています。

  1. 主キー定義は、自動的にクラスタ化インデックスの主キーを構築するとき
  2. 何マスターキーは、自動的に主キー列(非ヌル一意のインデックス)として選択することができないときに一意のデータレコードを識別する
  3. ときに、2つ以上自動的に長い整数主キーとしてフィールドを隠された6バイトの長さを、クラスタ化インデックスを生成していません

クラスタ化インデックスの長所と短所

長所

  1. アドレッシング非クラスタ化インデックスよりも少ない工程でB +ツリーに格納されたクラスタ化インデックスデータなどの非クラスタ化インデックスよりも高速なデータアクセス
  2. クラスタ化インデックスは、機会のソートに適用されます
  3. クラスタ化インデックスデータ、より効率的な時間の範囲を取ります
  4. ページが時間内にバッファにロードされているので、同一ページ内のデータの異なる行にアクセスするときに、再びアクセス、アクセスは、ディスクにアクセスすることなく、メモリに完成されます。主キーIDは、データを整理するために従った場合は、アクセスデータに高速

短所:

  1. 挿入の速度は、マスターキーの順序高効率に応じて挿入され、挿入の順に大きく依存し、及びその逆は、ページ分割をもたらす、深刻なパフォーマンスに影響を与えます
  2. 二次索引に格納されるデータのサイズは、セカンダリインデックスは主キーが増加するにつれて増加します
  3. セカンダリインデックスへのアクセス二度見する必要があります

上記の欠点のために、私たちは主キーの値の指定は、これらの欠点の影響を回避することができるを通して見ることができます。

  1. 私たちは、主キーの順序を保証するために応じて挿入し、一般的なインクリメントの主キーのレコードを定義します。物理的なクラスタ化インデックスデータ記憶されたシーケンスは、インデックスが隣接している限り、対応するデータが、他の隣接するディスク上に格納する必要があり、順序インデックスと一致しています
  2. 私たちの主キーは、あなたのオリジナルのマスターキーを格納するための新しいフィールドを使用する必要があることを示す、あなたはシーンが表示さを変更する場合は、主キー、主キーを変更するために終止符を打つ必要がある任意の時点でのビジネスに関連していません
公開された19元の記事 ウォンの賞賛2 ビュー2400

おすすめ

転載: blog.csdn.net/Azhuzhu_chaste/article/details/105153063