MySQL で現在使用できる主なインデックス タイプは、通常のインデックス、一意のインデックス、主キー インデックス、結合インデックス、およびフルテキスト インデックスです。次の記事ではこれらの MySQL インデックスについて紹介します。お役に立てば幸いです。
#フィールドにインデックスを追加すると、データの読み取り速度が向上し、プロジェクトの同時実行性とストレス耐性が向上します。インデックスの最適化は、MySQL の最適化メソッドです。索引は本の目次に相当し、目次のページ番号をもとに必要な内容をすぐに見つけることができます。
現在 MySQL で使用できる主なインデックス タイプを見てみましょう:
1. 通常インデックス
通常インデックスは、最も基本的なインデックスです。制限はなく、値を空にすることもできますが、クエリが高速化されるだけです。次の方法で作成または削除できます:
1)、インデックスを直接作成する
CREATE INDEX index_name ON table(column(length))
2)、テーブル構造を変更してインデックスを追加する
ALTER TABLE table_name ADD INDEX index_name ON (column(length))
3 )、インデックスの削除
DROP INDEX index_name ON table
2. 一意のインデックス
一意のインデックスは、インデックス列の値が次の値である必要があることを除いて、通常のインデックスと似ています。一意ですが、空の値も許可されます。複合インデックスの場合、列値の組み合わせは一意である必要があります。簡単に言うと、列の値が一意である (null が含まれる可能性がある) ため、一意のインデックスを使用するとクエリが高速化されます。次の方法で作成できます:
1)、一意のインデックスの作成
CREATE UNIQUE INDEX indexName ON table(column(length))
2)、テーブル構造の変更
ALTER TABLE table_name ADD UNIQUE indexName ON (column(length))
3、主キーIndex
主キー インデックスは特別な一意のインデックスであり、テーブルには主キーを 1 つだけ持つことができ、NULL 値は許可されません。簡単に言うと、主キー インデックスによりクエリが高速化され、列の値は一意であり (null を含むことはできません)、テーブル内に 1 つだけ存在します。
通常、主キー インデックスはテーブルの作成時に同時に作成されます。
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, PRIMARY KEY(ID) );
もちろん、ALTER コマンドを使用することもできます。テーブルには主キーを 1 つだけ持つことができることに注意してください。
4. 複合インデックス
複合インデックスとは、複数のフィールドに対して作成されるインデックスを指し、インデックス作成時の最初のフィールドのみがクエリ条件で使用されます。使用されます。結合インデックスを使用する場合は、左端のプレフィックス セットに従います。
結合インデックスは、結合検索に特化した複数の列値で構成されるインデックスであり、インデックスの結合よりも効率が高いと言えます。
ALTER TABLE `table` ADD INDEX name_city_age (name,city,age);
5. フルテキスト インデックス
フルテキスト インデックスは、キーワードをテキスト内の値と直接比較するのではなく、主にテキスト内のキーワードを検索するために使用されます。索引。フルテキスト インデックスは他のインデックスとは大きく異なり、where ステートメントの単純なパラメータ マッチングではなく、検索エンジンに似ています。フルテキスト インデックスは、一般的な where ステートメントと like の代わりに match match 操作で使用されます。これは、create table、alter table、create Index で使用できますが、現在、char、varchar、および text 列に作成できるのはフルテキスト インデックスのみです。データの量が多い場合は、最初にテーブルのフルテキストを作成してから、データの速度がはるかに速くなります。
1)、テーブルの作成時にフルテキスト インデックスを追加するのが適切です
CREATE TABLE `table` ( `id` int(11) NOT NULL AUTO_INCREMENT , `title` char(255) CHARACTER NOT NULL , `content` text CHARACTER NULL , `time` int(10) NULL DEFAULT NULL , PRIMARY KEY (`id`), FULLTEXT (content) );
2)、テーブル構造を変更してフルテキスト インデックスを追加します
ALTER TABLE article ADD FULLTEXT index_content(content)
3)、インデックスを直接作成します
CREATE FULLTEXT INDEX index_content ON article(content)
簡単に言えば、全文インデックス作成とは、テキスト コンテンツをセグメント化して検索することです。
以上がmysqlインデックスにはどのような種類がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。