为什么我今天在5.7的mysql上,使用not in != 都使用上了索引,看了很多文章都写着索引会失效,是因为mysql更新了吗?那现在那些查询条件会导致索引失效
为什么我今天在5.7的mysql上,使用not in != 都使用上了索引,看了很多文章都写着索引会失效,是因为mysql更新了吗?那现在那些查询条件会导致索引失效
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
2 回答2k 阅读
3 回答2k 阅读
not in或者!=会导致索引失效并不是绝对的 对于数据较为均匀的场景是会失效的 但是如果业务数据严重不均的字段加了索引的话是不一定失效的 mysql自己会做判断 并不是绝对判定不使用索引 比如表A性别列有男10000条女20条,当sex!=’男‘是可以使用索引的 同样的如果你sex='男'反而不会使用索引 mysql自己会选择最优的检索方式