首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql索引: possible_keys为空,键为空

mysql索引: possible_keys为空,键为空
EN

Stack Overflow用户
提问于 2017-03-13 02:55:03
回答 2查看 1.6K关注 0票数 3

现在,使用复合索引(如(name, age, DESC) )存在问题,现在转到查询"select * from table ThisTableName where age>15 and desc='test' "。在这种情况下,B树索引不符合最左边的匹配原则,可以理解为null的索引possible_keys,但是键显示了复合索引。为什么会出现这种情况,possible_keys代表的索引可以使用,如果这个值是null,原则上只对null键值。

EN

回答 2

Stack Overflow用户

发布于 2019-01-09 23:20:32

我认为来自MySQL文档的这个片段解释了这一点:

键可能会命名不存在于possible_keys值中的索引。如果所有possible_keys索引都不适合查找行,但查询所选的所有列都是其他索引的列,则可能发生这种情况。也就是说,命名索引涵盖选定的列,因此虽然它不用于确定要检索的行,但索引扫描比数据行扫描更有效。

票数 4
EN

Stack Overflow用户

发布于 2020-01-30 11:45:13

在我的例子中,当possible_keys为null但索引已经设置时-只删除索引并使用新名称帮助创建索引!

CHECK TABLE _table_name_ QUICKREPAIR TABLE _table_name_ QUICK帮不上忙

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42755956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档