MySQLテーブルインデックス(一)

1357 ワード

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