Oracle中,in语句中可放的最大参数个数是1000个。之前遇到超过1000的情况,可用如下语句,但如此多参数项目会低,可考虑用别的方式优化。
select * from Table where id in(xxx,xxx...) or id in(yyy,yyy,...)
mysql中,in语句中参数个数是不限制的。不过对整段sql语句的长度有了限制(max_allowed_packet
)。
References:
https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#function_in
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_allowed_packet