PHPのインタビュートピック--- MySQLのインデックス型、説明と利点
概要
文の要約:
品質のビデオは、などのブログ、書籍、なども、様々な情報です情報源を、説明するのが、照合している人に説明するために、プロセスの知識に基づいています
1、B-Treeインデックス3つの利点?
1、インデックスサーバスキャンは有意データの量を減らします
ソートや一時テーブルを避けるための2、インデックスサーバー
図3に示すように、インデックスはI / Oは、シーケンシャルI / Oとなるランダム低減することができます
2、インデックスが最善の解決策はありますか?
1、非常に小さなテーブル、より効率的なほとんどの場合、全表スキャン
2、大きなテーブルに媒体、非常に効果的なインデックス
図3に示すように、大きなテーブルTB [レベル、分割は、代替ブロック・レベルのメタデータのインデックスを作成するための技術を使用することができます
二つは、MySQLインデックス型、及び導入の利点(RPM)
転送:MySQLのインデックス型、説明と利点-シンプルなブック
https://www.jianshu.com/p/e9844e5d7e68
EDITORIAL:
様々な定義の混乱の分類のためのオンラインインデックスは、今、インデックスの分類のためのソートを行います。不備は、私を修正するために歓迎します。
MySQLでは、インデックスはエンジンではなく、サーバレイヤ層の実装に格納されています。
まず、インデックスタイプの分類:
1. B-Treeインデックス
定義と原則
B-treeインデックスツリーは、一般的にすべての値が基準であることを意味し、順次記憶され、各葉ページは、ルートから同じ距離です。
B-Treeインデックスツリーは、ストレージエンジンがフルテーブルスキャンする必要がないので、データへのアクセスをアクセス速度を高速化するが、インデックスのルートから検索を開始することができます。基盤となるストレージエンジンによると、子ノードに溝ルートポインタを格納すると、これらのポインタを見つけることができます。根本的な価値とあなたが比較的ノードページを探している値に右の子ノードポインタを見つけ、これらのポインタは、実際には、上下のサブノードページの価値が定義されています。最終的なストレージエンジンは、いずれかの対応する値を見つけること、またはレコードが存在しません。
ツリーの深さと、テーブルのサイズに直接関連しています。
B-treeインデックスのタイプを使用します
アプリケーションの種類:フルキー、キーレンジ、キー接頭辞[MySQLのみ関連する特性である最も左のプレフィックスのための、でもバージョンで]
キーは、順次検索BY ORDERを見ることができるように、索引ツリー・ノードが、注文されているので。
Bツリーインデックスの制限
- 彼はのインデックス従わなかった最も左接頭辞検索を
- あなたはできません列のインデックスをスキップ
- 範囲を見つけるための列は、すべての列の右側には、見つけるためにインデックスを使用することはできません。ケースパーティー、次のように:
WHERE name='zhangsan' AND city LIKE 'shen%' AND `date` ='2019-12-07'
2.ハッシュインデックス
ハッシュインデックスは、すべての列のインデックスに基づいてのみ完全一致クエリ有効なハッシュテーブルの実装です。
各行は、ストレージエンジンは、ハッシュコード値が小さいほど、異なるキー列計算されたハッシュコードが同じではない、すべての列のハッシュコードを計算します。
MySQLでは専用メモリエンジンがサポートハッシュインデックスを表示します。メモリはまた、B-Treeインデックスをサポートし、デフォルトのインデックス・タイプです。
メモリー・エンジンは、非ユニークなインデックスをサポートしています。
ハッシュインデックスの制限
- ハッシュインデックスと行ポインタは、フィールドの値を保存せず、それは行を読み取る回避するために、インデックス値を使用することができない、唯一の値を含みます。
- ハッシュインデックスをソートするために使用することができない、陰Haxiインデックスは、インデックス順に格納されていません。
- ハッシュインデックスは、マッチを見つけるために、インデックスの一部をサポートしていない、殷Haxiインデックスは常にハッシュ値を計算するためにインデックスを使用して、列の内容全体です。
3.フルテキストインデックス
問い合わせへの類似性に基づいて、キーワードマッチングを通してろ過し、クエリに。フルテキストインデックスアンティルインターネット検索エンジンの基本原理。
さらに向上させることには...
4.スペースのインデックス
MyISAMテーブルは、空間インデックスをサポートし、地理データを保管するために使用することができます。
インデックスの第二に、利点
1. Bツリー・インデックス3つの利点:
インデックスは、実質的にサーバーがスキャンしたデータ量削減
インデックスサーバーがソート避けることができますし、一時テーブルの
インデックスは、ランダムI / Oは、シーケンシャルI / Oとなっ減らすことができますが
2.インデックス「サムスン・システム」
インデックスレコードは、衛星放送を取得するために一緒に入れている
2つの星がソートされている取得するために、インデックスと検索データを
インデックス列を使用すると、サムスンの列を照会するために必要なすべてが含まれています
インデックスが最善の解決策であるかどうか3。
非常に小さなテーブルは、ほとんどの場合、より効率的なフルテーブルスキャン
媒体は、大規模なテーブルに、インデックスが有効である
キング[テーブルTBレベル、パーティショニングを使用することができる、代替ブロック・レベルのメタデータのインデックスを作成するための技術
インデックスの装飾を終了
私のお気に入りの試合、従うべき最も左接頭辞の完全な値は、
死ぬことができないビッグブラザーでリードを取るには、中央の兄弟は分割できない。
以下、計算インデックス列を、全範囲の障害が発生した後、
LIKE割合右端の書き込みは、星をカバーするインデックスを作成しないでください。
空気に至るまでそこ値や、インデックスが少ないを使用することができませんでした。
ます。https://www.cnblogs.com/Renyi-Fan/p/11073586.htmlで再現