您的位置:首页技术文章
文章详情页

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

【字号: 日期:2022-06-13 11:00:43浏览:57作者:猪猪

问题描述

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

问题解答

回答1:

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