私は、where句に外部キーと他の列(たとえばc1)を使用するクエリを持っています。既定では、外部キーのインデックスが作成されます。私はc1にインデックスを追加して、Explainコマンドを実行すると、クエリは索引付けされたc1ではなく、検索のための外部キーのみを使用します。MYSQL複数列インデックス
私は外部キーと他の列の両方に対して単一のインデックスを作成するはずです。私は索引付けに関するコメントを読もうとしましたが、どんな提案も本当に感謝しています。
表: 学生:ID、名前、年、Class_tutor_id
ClassTutor:ID、名前 でClass_tutor_idは学生 から
選択名(ClassTutorからIDを選択する場所名= 'サリー') および年> = 200および年< = 2006;
年のフィールドにインデックスを作成しました。 Class_tutor_idはClassTutorテーブルIDを参照する外部キーです。私はExplainコマンドでクエリを実行すると、 "キー"列の下で外部キーClass_tutor_idを取得しますが、 "可能なキー"列には外部キー、主キー、年を取得します
質問を編集し、クエリとテーブル定義(または少なくともインデックス)を表示します。実際に自信を持って指導するための情報は不十分です。 –