MySQLテーブルインデックス(一)
1357 ワード
利点:テーブル内のデータのクエリー速度を向上させる欠点:一定のディスク領域を占有し、インデックスの作成と維持に要する時間はデータ量の増加に伴って増加する
概要一般インデックス 一意性インデックス 全文インデックス 単列インデックス マルチカラムインデックス 空間インデックス 一般索引
通常のインデックスは、MySQLの基本インデックスタイプであり、任意のデータ型に作成できる
一意性インデックス
一意性インデックスは、
全文索引
全文インデックスは、
単列索引
単一カラムインデックスとは、テーブル内の単一フィールドにインデックスを作成することです.通常のインデックス、一意のインデックス、または全文インデックスであってもよいです.インデックスがテーブル内の1つのフィールドにのみ対応することを保証すればいいです.
複数カラムインデックス
マルチカラムインデックスとは、テーブル内の複数のフィールドにインデックスを作成することです.このインデックスは、クエリー条件でこれらのフィールドの最初のフィールドが使用されている場合にのみ使用されます.たとえばgradeテーブルのid、name、scoreフィールドに複数のカラムインデックスを作成すると、クエリ条件でidフィールドが使用されている場合にのみインデックスが使用されます.
スペースインデックス
スペースインデックスは、
に注意
インデックスは、データのクエリー速度を向上させることができますが、インデックスは一定のディスク領域を占有し、インデックスの作成と維持にかかる時間は、データ量の増加に伴って増加します.したがって、インデックスを使用する場合は、インデックスの利点と欠点を総合的に考慮する必要があります.
概要
通常のインデックスは、MySQLの基本インデックスタイプであり、任意のデータ型に作成できる
key
またはindex
によって定義されたインデックスです.一意性インデックス
一意性インデックスは、
unique
によって定義されたインデックスであり、そのインデックスが存在するフィールドの値は一意でなければならない.全文索引
全文インデックスは、
fulltext
によって定義されたインデックスであり、char、varchar
またはtext
のタイプのフィールドにのみ作成できます.また、現在はMyISAMストレージエンジンのみが全文インデックスをサポートしています.単列索引
単一カラムインデックスとは、テーブル内の単一フィールドにインデックスを作成することです.通常のインデックス、一意のインデックス、または全文インデックスであってもよいです.インデックスがテーブル内の1つのフィールドにのみ対応することを保証すればいいです.
複数カラムインデックス
マルチカラムインデックスとは、テーブル内の複数のフィールドにインデックスを作成することです.このインデックスは、クエリー条件でこれらのフィールドの最初のフィールドが使用されている場合にのみ使用されます.たとえばgradeテーブルのid、name、scoreフィールドに複数のカラムインデックスを作成すると、クエリ条件でidフィールドが使用されている場合にのみインデックスが使用されます.
スペースインデックス
スペースインデックスは、
spatial
によって定義されたインデックスであり、スペースデータ型のフィールドにのみ作成できます.MySQLの空間データ型はgeometry、point、linestring
とpolygon
の4種類である.なお、スペースインデックスを作成するフィールドは、not null
と宣言する必要があり、スペースインデックスは、ストレージエンジンがMyISAMであるテーブルでのみ作成できます.に注意
インデックスは、データのクエリー速度を向上させることができますが、インデックスは一定のディスク領域を占有し、インデックスの作成と維持にかかる時間は、データ量の増加に伴って増加します.したがって、インデックスを使用する場合は、インデックスの利点と欠点を総合的に考慮する必要があります.