in走不走索引?可以用哪个关键字代替?

时间:2024-11-14 17:45:57

网上有很多人说in不走索引,事实上我经过执行计划自己测试发现,in明明就是走索引的。看来网上也不全可信啊。

后来又查了以下,发现 MySQL 4.1 以上版本的 IN 是走索引的, 但4.0及其以下版本是不走索引的。 

原来是这样,4.0以下确实是不走索引的,难怪之前有人说。


可以用exist代替in,exit的执行效率要高。

in是子查询。而exist是通过id关联,组成一张虚表,操作的是同一张表。