请教:select where ID in (),后面的in条件,最多可以多长?有规定吗?

learning8899 2016-03-11 10:36:52
请教各位高手,select 一个表,条件是ID在一批数字里面,这个 ID in (1,3,4,5,8,9,10,11,12)等等,可以多长?一万个数字是不是太长了?
...全文
6299 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_Nice 2016-03-11
  • 打赏
  • 举报
回复
sql语句最长为:65,536 * 网络数据包大小(默认的是4096字节) lz可以算一下长度,挺长的。但真写成这样长度的sql 估计也是个问题。
tcmakebest 2016-03-11
  • 打赏
  • 举报
回复
也许是有规定的,但在达到规定之前,也许会因为速度太慢而放弃了,所以不必纠结.
顾西昂 2016-03-11
  • 打赏
  • 举报
回复
最好不要用in 能通过左右连接最好 in效率低
LongRui888 2016-03-11
  • 打赏
  • 举报
回复
in 后面太长,在执行sql语句的时候,就会报错,大概意思就是 内存不足,或者生成执行计划失败 之类的错误。 建议如果实在太长,可以考虑把这些数据插入到一个临时表,然后在和原来表关联,这样比较好
zbdzjx 2016-03-11
  • 打赏
  • 举报
回复
看一下这个:http://bbs.csdn.net/topics/370101633
spiritofdragon 2016-03-11
  • 打赏
  • 举报
回复 1
1、在查询分析器里是没限制的。 2、但在使用时,中间件可以会对字符串长度做限制,但这些跟SQL没关系:比如: 你要拼好串,传进ado对象里,这个过程中,某个环节,或某个变量被限制了长度。当你传到SQL时,已经被截断了。

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧