select * from emp in empno in(1,2,3......);
in 函数的使用限制:in()中的数据有最多1000条的限制
可用exists 替换,如果主表的话用exist会快一些,如果相反的话,还是in快一些
有两个简单例子,以说明 "exists"和"in"的效率问题
1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ;
T1数据量小而T2数据量非常大时,T1<<T2 时,1) 的查询效率高。
2) select * from T1 where T1.a in (select T2.a from T2) ;
T1数据量非常大而T2数据量小时,T1>>T2 时,2) 的查询效率高。
因为exists就是为了in都不能跟大数据而生的。