mysql 5.7 not in != 索引有效,是为什么啊?更新了吗?

为什么我今天在5.7的mysql上,使用not in != 都使用上了索引,看了很多文章都写着索引会失效,是因为mysql更新了吗?那现在那些查询条件会导致索引失效

阅读 13.3k
1 个回答

not in或者!=会导致索引失效并不是绝对的 对于数据较为均匀的场景是会失效的 但是如果业务数据严重不均的字段加了索引的话是不一定失效的 mysql自己会做判断 并不是绝对判定不使用索引 比如表A性别列有男10000条女20条,当sex!=’男‘是可以使用索引的 同样的如果你sex='男'反而不会使用索引 mysql自己会选择最优的检索方式

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