在做项目过程中查询语句中需要用到  in(很多参数) 当参数多余1000时就会出现参数列数不能大于1000的错误
请问,除了将参数分割,还有什么好多办法,请指教

解决方案 »

  1.   

    select * from tablename  t where t.id in select id from ..... 
      

  2.   

    将你需要的参数先存入到一个临时表中,然后再用1楼的sql就行
      

  3.   

    使用exists吧 这样执行起来效率高。
    select * from tablename a where exists(select null from tablename1 b where b.id = a.id)
      

  4.   


    最好像四楼说的那样做,exists比in的执行效率要高,能用exists解决的最好不要用in。
    当然这是一般的情况,具体还要看两个表的数据量。