MySQL のインデックス タイプ
MySQL はさまざまなインデックスを提供しており、各インデックスはさまざまなデータ型とアクセス モードに適しています。 MySQL の一般的なインデックス タイプは次のとおりです。
1. B ツリー インデックス
- 最も一般的に使用されるインデックス タイプで、データをすばやく検索するために使用されます。
- 各データ行は、マルチレベルの並べ替えツリーである B ツリーに保存されます。
- 各クエリは B ツリー インデックスを使用して、データ行を迅速に見つけることができます。
2. ハッシュ インデックス
- は、一意のハッシュ値を持つ列にのみ適用されます。
- データ行をハッシュ値に直接マッピングすることで、検索が非常に高速になります。
- ただし、ハッシュ インデックスは範囲クエリをサポートしません。
3. 全文インデックス
- は、テキスト データの全文検索に使用されます。
- テキストを単語に分割してインデックスを付け、特定の単語を含むデータ行をすばやく検索します。
4. 空間インデックス
- は、空間データ (地理座標など) に対して空間クエリを実行するために使用されます。
- R ツリーまたはその他の空間データ構造を使用して、データを保存し、インデックスを付けます。
- 交差、重なり、または隣接するデータ オブジェクトを迅速に見つけることができます。
5. 結合インデックス
- 複数の列を含むインデックス。
- 複数の列を同時に使用してクエリの効率を向上させます。
6. アダプティブ ハッシュ インデックス (AHI)
- MySQL 8.0 で導入された新しいインデックス タイプ。
- ハッシュ インデックスと B ツリー インデックスの利点を組み合わせて、カーディナリティの高い列の検索を高速化します。
7. ビットマップ インデックス
- は、コレクション値 (配列やリストなど) の効率的なクエリに使用されます。
- 各コレクション値はビットマップにマップされます。ビットマップ内の各ビットは、値が特定の行に存在するかどうかを表します。
- 特定の値を含む、または含まないコレクションのクイック検索をサポートします。
さまざまなタイプのインデックスが、さまざまなアクセス パターンに合わせて最適化されます。適切なインデックスを選択すると、MySQL クエリのパフォーマンスが大幅に向上します。
以上がmysqlのインデックスとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。