概要インデックスは、データベース テーブル内の 1 つ以上の列の値を並べ替える構造です。インデックスを使用すると、データベース テーブル内の特定の情報にすばやくアクセスできます。 インデックスデータ構造バイナリツリー二分木は、木内のノードの次数が 2 以下である順序付き木です。これは最も単純で最も重要な木です。二分木の再帰的な定義は次のとおりです。二分木は空の木、またはルート ノードとルートの交差しない 2 つの左サブツリーと右サブツリーで構成される空でない木です。左サブツリーと右サブツリーも二分木です。 配列{1,2,3,4,5}の場合、データ構造はリンクリストになります。 特徴:
赤黒木赤黒木は、コンピュータ サイエンスで数値などのデータ ブロックを整理するために使用される構造であるバイナリ ツリーの特定の種類です。二分探索木が赤黒木である場合、そのサブツリーのいずれも赤黒木でなければなりません。 赤黒木は、バランスのとれた二分探索木の変形です。左と右のサブツリーの高さの差が 1 より大きい場合があるため、赤黒木は厳密にバランスのとれた二分木 (AVL) ではありませんが、バランスをとるコストは低く、平均的な統計的パフォーマンスは AVL よりも強力です。 各赤黒木は二分ソート木であるため、赤黒木を検索する際には、通常の二分ソート木に適用される検索アルゴリズムを使用でき、検索プロセス中に色情報は必要ありません。 赤黒木のデータ構造は次のとおりです。
特徴:
Bツリー
B+ツリー
キーワード: ノード内の順序、リーフノードのポインタリンク、非リーフノードのストレージインデックス (冗長) mysql インデックスのデータ ページのサイズを照会します。 mysql> 'Innodb_page_size' のようなグローバル ステータスを表示します。 +------------------+-------+ | 変数名 | 値 | +------------------+-------+ | Innodb_ページサイズ | 16384 | +------------------+-------+ なぜ16kbに設定するのですか? ハッシュ
索引InnoDB インデックスの実装 (クラスタリング)テーブルデータファイル自体はB+Treeで編成されたインデックス構造ファイルである。 クラスター化インデックス - リーフノードには完全なデータレコードが含まれます InnoDb テーブルに主キーが必要なのはなぜですか? また、整数の自動増分主キーを使用することをお勧めしますか?
非主キー インデックス構造のリーフ ノードに主キー値が格納されるのはなぜですか?
主キーインデックス図:
非主キーインデックス図 クエリが name = Alice に基づいている場合:
2 つのデータ ファイル: .frmは主にテーブル構造情報を保存します .ibdは主にインデックスとデータを保存します MyISAM インデックス ファイル (非クラスター化) インデックスファイルとデータファイルは別々です(非クラスター化)
3 つのデータ ファイル: .frm データ構造ファイル .mydファイルは主にデータを保存するために使用されます .myiファイルは主にインデックス情報を保存します クラスター化インデックスと非クラスター化インデックス特徴: クラスタリング/非クラスタリングは、主にインデックス ファイルがデータ ファイルと一緒にあるかどうかを指します。 クエリの効率性という点では、クラスター化インデックスはファイル間でクエリを行わないため、クエリが高速になります。 ジョイント/複合インデックス複数のフィールドが共通のインデックスに整理される
なぜこのように左端接頭辞の原則が使用されるのでしょうか? インデックス化されたデータはソートされており、フィールドがスキップされている場合は使用できません。 例: name = 'Jeff' かつ age = 22 の場合 -- インデックスにヒットします。 age = 30 かつ postatin='manager' の場合 -- インデックスにヒットしません。 postation = 'dev' の場合 -- インデックスにヒットしません。 参考文献百度百科事典 要約するこれで、MySQL インデックス データ構造に関するこの記事は終了です。MySQL インデックス データ構造に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Centos7でglibcをアップグレードするとシステム異常(起動できない)になる場合の解決方法
>>: フレックスレイアウトを使用してページレイアウトを簡単に実装するためのサンプルコード
検索パフォーマンスは最速から最遅まで次のとおりです (私が聞いたところによると)。 1 番目: ti...
ハイパーフ公式サイトHyperf 公式ドキュメントのインストール1. Dockerの使用docker...
最近Tencent Cloudサーバーを購入し、環境を構築しました。このメモは、これまで MySQL...
この記事では、ページング効果表示を実現するためのnode+expressの具体的なコードを参考までに...
MySQL では、datetime 型は通常、時間を保存するために使用されますが、現在では多くのシス...
まず、コンテナが稼働している必要がありますコンテナのCONTAINER IDは、sudo docke...
目次1. はじめに2. プロトタイプチェーン継承3. コンストラクタの継承4. 組み合わせ継承1. ...
序文前回の記事では、JavaScript の 2 つのデータ型、基本型と参照型、および参照型の浅いコ...
今では多くの人がウェブサイト作成に参加していますが、ウェブサイトはどのように作成すればよいのでしょう...
Baidu の擬似静的の説明を引用します。擬似静的は、実際の静的に相対的です。通常、検索エンジンの使...
1. DockerでのPostgresデータベースのバックアップ注文: docker exec it...
1. ワニスの紹介Varnish は、高性能なオープンソースのリバースプロキシサーバーおよび HTT...
Microsoft IE 5.0 がリリースされる前は、Web プログラミングにおける最大の課題は、...
/****************** * 高度な文字デバイス ドライバー ***********...
cellspacing は表内のセル間の距離です。セルパディングは、表のセル内の空白スペースです。一...