ホームページ  >  記事  >  データベース  >  MySQL の一般的なインデックス タイプは何ですか?

MySQL の一般的なインデックス タイプは何ですか?

王林
王林オリジナル
2020-06-28 10:07:483950ブラウズ

Mysql の一般的なインデックス タイプは次のとおりです: 1. FULLTEXT、2. HASH、3. BTREE、4. RTREE。 FULLTEXT はフルテキスト インデックスであり、現在 MyISAM エンジンでのみサポートされています。 HASH インデックスは 1 回で特定できるため、非常に効率的です。

MySQL の一般的なインデックス タイプは何ですか?

Mysql には現在主に次のインデックス タイプがあります:

(推奨チュートリアル: mysql チュートリアル)

フルテキスト、ハッシュ、BTREE、RTREE。

詳細な紹介:

1. FULLTEXT

はフルテキスト インデックスであり、現在 MyISAM エンジンでのみサポートされています。これは CREATE TABLE、ALTER TABLE、および CREATE INDEX で使用できますが、現時点では CHAR、VARCHAR、および TEXT 列にフルテキスト インデックスのみを作成できます。

全文インデックスは MyISAM とともに誕生したものではなく、WHERE name LIKE "%word%" のようなテキストに対するあいまいクエリの効率が悪いという問題を解決するために登場しました。

2. HASH

HASH は一意 (ほぼ 100% 一意) であり、キーと値のペアのような形式であるため、インデックスとして非常に適しています。

HASH インデックスは一度検索すれば、ツリー インデックスのように階層ごとに検索する必要がないため、非常に効率的です。ただし、この効率性は条件付きです。つまり、「=」および「in」条件下でのみ効率的であり、範囲クエリ、並べ替え、および結合インデックスについては依然として効率的ではありません。

3. BTREE

BTREEインデックスとは、インデックス値を一定のアルゴリズムに従ってツリー状のデータ構造(二分木)に格納する手法で、各クエリの入り口からルートから開始してノードを順番にたどって、葉を取得します。これは、MySQL でデフォルトで最も一般的に使用されるインデックス タイプです。

4. RTREE

RTREE は MySQL ではほとんど使用されず、ジオメトリ データ型のみをサポートします。この型をサポートするストレージ エンジンは、MyISAM、BDb、InnoDb、NDb、および Archive のみです。

BTREE と比較した場合、RTREE の利点は範囲検索にあります。

以上がMySQL の一般的なインデックス タイプは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。