日期:2014-05-16  浏览次数:20924 次

MYSQ中not in 语句如何优化。
在mysql中这样的语句该如何优化。

select * from table where uid no in(1,2,3,4,5,6,7,8)

有什么好的方法。

------解决方案--------------------


不好意思,没看清楚,你用的是 NOT IN ,这样的话,一般来说MySQL会使用全表扫描而不是去利用索引。原因也很简单。因为MYSQL认为用索引反而更麻烦。

比如让你从 1000 个人中间把编号为 145, 761 这两个学生之外的所有学生资料抄写一遍。你是先找出这两个学生的成绩放一边儿,然后再开始抄写,还是直接开始一份挨一份开始抄写,看到 这两个号直接跳过去?