mysql通过explain分析语句时,发现 possible_keys为空,key为所建索引?

建立的索引是multi (name, age, score)
表内数据:
id name age score
1 tom 21 94
2 job 18 97
3 kik 27 92

EXPLAIN SELECT * FROM zhangyachong1-test WHERE age >21
语句输出的
possible_keys为null,key却为multi,不应该key也为null吗,这个查询语句不符合最左值匹配啊?
求解释

阅读 7.9k
1 个回答

这种情况一般发生在覆盖索引条件下
possible_keys为null 说明用不上索引的树形查找
但如果二级索引包含了所有要查找的数据,二级索引往往比聚集索引小,所以mysql可能会选择顺序遍历这个二级索引直接返回
所以就出现了你的这个情况

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题