1. ホーム
  2. sql

[解決済み] SQLのインデックスとは何ですか?

2022-03-21 22:07:07

質問

また、どのような場合に使用するのが適切なのでしょうか?

どのように解決するのですか?

インデックスとは、データベース内の検索を高速化するために使用されます。MySQL には、このテーマに関する良いドキュメントがあります(他の SQL サーバにも当てはまります)。 http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html

インデックスを使用すると、クエリ内のあるカラムにマッチするすべての行を効率的に検索し、テーブルのその部分集合のみを走査して完全にマッチするものを見つけることができます。テーブルのどのカラムにもインデックスがない場合は WHERE 節は SQL サーバは テーブル全体 を実行し、すべての行が一致するかどうかを確認する必要があり、大きなテーブルでは処理に時間がかかる可能性があります。

また、インデックスは UNIQUE インデックスを使用すると、そのカラムに重複した値を持つことができなくなる、または PRIMARY KEY これは、いくつかのストレージエンジンでは、データベースファイルのどこに値が格納されるかを定義するものです。

MySQLでは EXPLAIN の前にある SELECT ステートメントを使用して、クエリがインデックスを使用するかどうかを確認します。これは、パフォーマンスの問題をトラブルシューティングするための良いスタートとなります。詳しくはこちら。 http://dev.mysql.com/doc/refman/5.0/en/explain.html