#MySQL - インデックスの基本
この記事でインデックス作成のテストに使用したユーザー テーブルの構造は次のとおりです。
インデックスとは
#インデックス (MySQL では「キー」とも呼ばれます) は、ストレージ エンジンです。レコードをすばやく検索します。データ構造の一種です。——「高性能 MySQL」インデックスは実際にはデータ構造であり、その機能は私たちを助けることであることを知っておく必要があります。必要なデータを素早く照合して見つけます。は、データベースのパフォーマンスを最適化するために最も一般的に使用されるツールの 1 つです。スーパーの買い物ガイドや本のカタログに相当する役割です。 #インデックス タイプ
SHOW INDEX FROM table_name;
インデックスの詳細の表示
# を使用できます。
##1. プライマリ キー インデックス PRIMARY KEY
これは、NULL 値を許可しない特別な一意のインデックスです。通常、主キーインデックスはテーブル作成時に同時に作成されます。 注: テーブルには主キーを 1 つだけ持つことができます2. 一意のインデックス UNIQUE
一意のインデックス列の値は次のとおりです。一意である必要がありますが、NULL 値も許可されます。複合インデックスの場合、列値の組み合わせは一意である必要があります。 ALTER TABLE table_name ADD UNIQUE (column);# を使用して一意のインデックスを作成できます。
##ALTER TABLE table_name ADD UNIQUE (column1,column2);
# で一意の結合インデックスを作成できます。 #3、通常のインデックス INDEX
最も基本的なインデックスであり、制限はありません。通常のインデックスは、
ALTER TABLE table_name ADD INDEX Index_name (column);複合インデックス、つまり、インデックスに複数の列が含まれます。主にテーブルクエリを回避するために使用されます。
ALTER TABLE table_name ADD INDEX Index_name(column1, column2, column3);
# を使用して結合インデックスを作成できます。#5. フルテキスト インデックス FULLTEXT
ALTER TABLE table_name ADD FULLTEXT (column);
インデックスを使用してフルテキスト インデックスを作成できます。インデックスを変更する場合は、インデックスを削除して再構築することしかできません。DROP INDEX インデックス名 ON テーブル名;
を使用してインデックスを削除できます。 インデックス設計の原則1. インデックス付けに適した列は、where 句に出現する列、または join 句で指定された列です。2. カーディナリティが小さいクラスの場合、インデックスの効果は低くなります。この列にインデックスを作成する必要はありません。3. 短いインデックスを使用します。長い文字列列にインデックスを付ける場合は、多くのインデックス領域を節約できるように、プレフィックスの長さを指定する必要があります。
4.インデックスを付けすぎないでください。インデックスには追加のディスク領域が必要となり、書き込み操作のパフォーマンスが低下します。テーブルの内容が変更されると、インデックスが更新されたり、再構築されたりするため、インデックス列の数が増えるほど、この時間は長くなります。したがって、クエリを容易にするために必要なインデックスのみを保持してください。 関連参照php中文网
以上がmysqlインデックスの基礎を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。