我有一个查询在where子句中使用外键和其他列(比如c1)。默认情况下,外键被编入索引。当我添加索引到c1并运行explain命令时,查询仅占用搜索的外键,而不是索引的c1。MYSQL多列索引
我不应该为外键和其他列创建单个索引。我试着阅读与索引相关的评论,任何建议都会非常感谢。
表: 学生:ID,名称,年份,Class_tutor_id
ClassTutor:ID,姓名
选择的名字从学生 其中Class_tutor_id在 (从ClassTutor选择ID,其中name = '莎莉') 和年份> = 200和年份< = 2006;
我在年份字段中创建了索引。 Class_tutor_id是引用ClassTutor表id的外键。当我使用explain命令执行查询时,在“Keys”列下我得到了外键Class_tutor_id,但在“Possible keys”列中,我得到了外键,主键,年
编辑你的问题,并显示查询和表定义(或至少索引)。没有足够的信息来真正提供有效的指导。 –