また、いつ使用するのが適切でしょうか?
ベストアンサー1
インデックスは、データベース内の検索を高速化するために使用されます。MySQL には、このテーマに関する優れたドキュメントがあります (他の SQL サーバーにも関連します)。http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html
インデックスを使用すると、クエリ内の特定の列に一致するすべての行を効率的に検索し、テーブルのそのサブセットのみを調べて完全一致を見つけることができます。句内のどの列にもインデックスがない場合WHERE
、サーバーはテーブル全体SQL
を調べてすべての行をチェックし、一致しているかどうかを確認する必要があります。このため、大きなテーブルでは操作が遅くなる可能性があります。
インデックスはUNIQUE
、その列に重複した値を持つことができないことを意味するインデックス、またはPRIMARY KEY
一部のストレージ エンジンでデータベース ファイル内の値が格納される場所を定義するインデックスになることもあります。
MySQL では、ステートメントEXPLAIN
の前に を使用するとSELECT
、クエリがインデックスを使用するかどうかを確認できます。これは、パフォーマンスの問題をトラブルシューティングするための良い出発点です。詳細はこちらをご覧ください。参考文献