現在、ほとんどのデータベース システムとファイル システムは、B ツリーまたはそのバリアント B ツリーをインデックス構造として使用しています。
1. B ツリーはバランスのとれたマルチツリーです。ルート ノードから各リーフ ノードまでの高さの値は 1 を超えず、同じレベルのノードはポインタによってリンクされます。
2、従来のBツリー上の検索では、ルートノードからリーフノードまでの検索効率は基本的に同じで大きな変動はありません。また、インデックスベースの逐次走査では、双方向ポインタも可能です。左右にすばやく移動するのに使用すると、非常に効率的です。
mysql ではインデックスを使用することでクエリ効率を効果的に向上させることができますが、実際のプロジェクトでは where 条件にインデックスを追加してもインデックスが使用されない場合があります。
#例: where id=3 and Price>100;//3,100 元を超える ID を持つ製品をクエリします (ID、価格はそれぞれインデックスを追加します) 誤解: ID または価格のいずれかのみを使用できます。価格は独立したインデックスであるため、同時に使用できるのは 1 つだけです。 結合インデックス: 複数の列に同時にインデックスを作成した後、インデックスを使用する前に左プレフィックスの原則を満たす必要があります。 Take Index (a, b, c)例として。 (順序に依存するので注意)ステートメント | インデックスを使用するかどうか
where a=3 はい、列 a のみが使用されますここで a=3 および =5 はい、列 ab ここで a=3、b=4、および c=5 が使用されます。 はい、abc ここで b=3 または c=4 が使用されますいいえ、スキップされるためです。 aここで a=3 および c =4 a はインデックスを使用します。c はできませんここで a=3 および b は 'hello%' のように a が使用され、部分 b は使用済み###以上がmysqlに複数のbtreeインデックスを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。