MySQL NOT IN 效率超高?

很多人都认为,IN 和NOT IN 效率是较低的,我也不例外。

但今天有一件神奇的事情,京到我了:在一个七百万的数据表中,一条仅根据一个没有索引的时间字段的sql,需要权表扫描,耗时700s;

仅使用NOT IN 一个索引,将它耗时降到了0.7s

这个索引是一个数字类型索引,原本打算NOT IN 一个系统中存在的数字,结果失误,填了一个不存在的数字,效率翻了千倍!

然而我填了一个正确的数字之后,效率反而降低到没有使用索引一样。

这个sql是查询字段的,而我再使用count(1)查询数量时,添加了NOT IN条件的sql效率却比没有NOT IN条件的sql低

我百思不得其解,百度了一圈也没找到这方面的原因。

希望有大老能解答疑惑

你可能想看:
分享给朋友: