本人现在有个程序,已经做完了,但是有点疑问。
程序的sql语句中,where 子句里有一个 in (,,,,)的限制条件,我使用的是参数,接受一个数组,然后按照数组的大小循环添加参数名和参数值:
in (@p1, @p2, @p3 .....@p1000, ,,,)
但是现在有个疑问,目前在国内来说,总更大约有30多个参数需要添加,但是随着公司业务的不停扩展,在海外业务也发展起来,那按照每个国家有50个参数,200个国家来说,酒的需要10000个参数
问题是,in(....)里面,能用10000个参数吗?
程序的sql语句中,where 子句里有一个 in (,,,,)的限制条件,我使用的是参数,接受一个数组,然后按照数组的大小循环添加参数名和参数值:
in (@p1, @p2, @p3 .....@p1000, ,,,)
但是现在有个疑问,目前在国内来说,总更大约有30多个参数需要添加,但是随着公司业务的不停扩展,在海外业务也发展起来,那按照每个国家有50个参数,200个国家来说,酒的需要10000个参数
问题是,in(....)里面,能用10000个参数吗?
2、如果是SQL语句的话,没有听说过这个in后面的参数个数有限制。
谁告诉你in效率低了?谁让你用临时表了? 谁用临时表,说明谁对数据库不熟悉,技术差~!
我发现只用过MSSQL的同学,很喜欢用临时表。
人家数据库自己就能把in(....)里面的各个参数组织成一个表来和别的表关联,还用得着你自己动手写临时表?
当然了MSSQL水平本来很差的,被Oracle等拉的不是一个水平上的,直到今年,MSSQL才开始追赶,不然太操蛋了,这些年来,云计算,大规模数据的兴起,造成MSSQL2000版本之前的几乎没了用武之地,所以MSSQL才不得不发力重新设计2005\2008.
兄弟,不好意思,实际上,在能用临时表又能用 in 的地方,用临时表的效率要比用 in 高得不是一个数量级,特别是在 in 里面的东西很多的时候.