1. インデックスの種類1. B+ツリーなぜ B ツリーではなく B+ ツリーなのでしょうか? まず、B ツリーと B+ ツリーの構造上の違いを見てみましょう。 Bツリー構造: B+ツリー: 以下が見られます:
2. MyISAM と InnoDB の B+ ツリー インデックス実装 (クラスター化インデックスと非クラスター化インデックス) の違いは何ですか?まず、クラスター化インデックスと非クラスター化インデックスを理解する必要があります。 クラスター化インデックス: クラスター化インデックスでは、リーフ ページに行のすべてのデータが含まれ、ノード ページにはインデックス列が含まれます。 InnoDB は主キーによってデータをクラスター化します。主キーが定義されていない場合は、代わりに一意の空でないインデックス列が選択されます。そのようなインデックスがない場合、InnoDB は暗黙的に主キーをクラスター化インデックスとして定義します。 クラスター化インデックスのデータ分布: クラスター化インデックスには、主キー インデックスに加えて、セカンダリ インデックスもあります。セカンダリ インデックスのリーフ ノードには、「行ポインタ」ではなく、行への「ポインタ」として使用される主キー値が格納されます。つまり、セカンダリ インデックスを通じて行を検索する場合、ストレージ エンジンはセカンダリ インデックスのリーフ ノードを見つけて対応するプライマリ キー値を取得し、この値に基づいてクラスター化インデックス内の対応する行を検索する必要があります。これは、「テーブルに戻る」とも呼ばれます。もちろん、カバーリング インデックスや
3. 非クラスター化インデックス非クラスター化インデックスの主キー インデックスとセカンダリ インデックスは構造に違いはなく、どちらもリーフ ノード上のデータの物理アドレスを指す「行ポインター」を格納します。 クラスター化インデックスの主キー インデックスとセカンダリ インデックス: 非クラスター化インデックスの主キー インデックスとセカンダリ インデックス: 4. クラスター化インデックスの利点と欠点アドバンテージ: 関連データをまとめて保存します(たとえば、すべてのユーザーのメールをユーザーIDごとにグループ化します)。そうしないと、各データの読み取りでディスクIOが発生する可能性があります。 欠点: すべてのデータをメモリに格納できる場合、シーケンシャル アクセスは不要になり、クラスター化インデックスの利点はなくなります。挿入速度は挿入順序によって異なります。ランダム挿入はページ分割やページ ホールの原因になります。OPTIMIZE TABLE を使用してテーブルを再構築します。挿入、更新、削除のたびにインデックス変更のメンテナンスが必要になり、コストが非常に高くなります。参照行の主キー列がノードに含まれるため、セカンダリ インデックスが予想よりも大きくなる場合があります。 5. ハッシュインデックスハッシュ インデックスはハッシュ テーブルに基づいて実装されます。インデックスのすべての列と完全に一致するクエリのみが有効であるため、ハッシュ インデックスは等価値クエリに適しています。
MySQL では、
6. 適応ハッシュインデックス
MySQL インデックスの基礎となるデータ構造の詳細に関するこの記事はこれで終わりです。MySQL インデックスの基礎となるデータ構造の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: HttpsページでBaiduシェアを使用するためのソリューション
Web ページを作成するときに、特定のフォントを使用したい場合は、 @font-faceを介して参照...
% ワイルドカードを使用すると、インデックス失敗の問題が発生することがよくあります。ここでは、lik...
1.VirtualBoxソフトウェアをダウンロードしてインストールするまず、VirtualBox の...
この記事は主にMysql一時テーブルの原理と作成方法を紹介します。この記事のサンプルコードは非常に詳...
この記事では、例を使用して MySQL トリガーの簡単な使用方法を説明します。ご参考までに、詳細は以...
crontabをインストールするyum install crontabs CentOS 7が付属して...
前に書いた内容: ビジネス ロジックの判断を行うために、最新のトランザクション ID を表示する必要...
1. カスタムフックとは何かロジックの再利用簡単に言えば、カスタム フックを使用すると、特定のコンポ...
データベース操作を学び始めたばかりです。今日、データを保存していたところ、エラーが発生していることに...
コンテナの場合、最も単純なヘルスチェックはプロセス レベルのヘルスチェックであり、プロセスが稼働して...
Seurat は、単一細胞解析用の重量級の R パッケージです。使用したことがある人なら誰でも、その...
並べ替えクエリ (order by)電子商取引の場合: 今日完了したすべての注文を表示し、取引金額に...
目次導入Tomcatへの接続方法APR と Tomcat ネイティブtomcat で APR を使用...
MySQL(5.6以下)はjsonを解析します #json 解析関数 DELIMITER $$ `j...
Dockerエラー1. 原因を確認するdocker ログ ネクサス2. エラーの原因OpenJDK ...