真有10000个变量你就直接写进去或,使用exists子句
没必要分成 or id in来写,这样说不定会更慢的
或都把这些变量写到一个临时表里面,再将临时表与这个表做JOIN操作
只取前面N个的话可以用TOP
select * from tb where id in(top N ...)
要分成多个输出要用临时表,建立一个临时表,定义一个自增加字段id。把IN后面的结果集插入到临时表,在临时表通过id分
你这样不如把id存在一个数据表中,然后左联接查询,这样语句速度很快
比你这样一大堆in要效率高很多
这样做,还需要程序给你分拆,重新拼写sql语句,很麻烦
你是不是要分页?