KEY
およびINDEX
MySQLの同義語です。それらは同じことを意味します。データベースでは、インデックス
を使用します。 データ取得の速度を向上させるため。インデックスは通常、JOIN
で使用される列に作成されます 、WHERE
、およびORDER BY
条項。
users
というテーブルがあるとします。 「Smith」という名前のすべてのユーザーを検索します。インデックスがないと、データベースはテーブルのすべてのレコードを調べる必要があります。データベースにあるレコードが多いほど、結果を見つけるために必要な作業が増えるため、これは低速です。一方、インデックスは、データベースが「Smith」レコードが保持されている関連ページにすばやくスキップするのに役立ちます。これは、私たち人間が電話帳のディレクトリを調べて名前で誰かを見つける方法と非常によく似ています。情報を可能な順序で挿入している限り、ディレクトリをカバーからカバーへと検索し始めません。 「S」ページにすばやくスキップするために使用します。
主キーと一意キーは似ています。主キーは、行を一意に識別できる列または列の組み合わせです。これは、一意キー の特殊なケースです。 。テーブルには、最大で1つの主キーを含めることができますが、複数の一意のキーを含めることができます。列に一意のキーを指定する場合、テーブル内の2つの異なる行が同じ値を持つことはできません。
また、主キーまたは一意キーとして定義された列は、MySQLで自動的にインデックスが作成されることに注意してください。