求解:sqlserver in 个数限制

tyson234 2011-08-02 10:01:24
各位大侠,问下sqlserver sql语句中in后面的个数有限制吗,是多少。

我自己在PC上用sqlserver2005 测了下,4W个可以执行,5W就报错了,
错误消息为:
消息 8632,级别 17,状态 2,第 1 行
内部错误: 达到了表达式服务限制。请在您的查询中查找潜在的复杂表达式,并尝试简化它们。
...全文
3397 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Felixzhaowenzhong 2011-08-03
  • 打赏
  • 举报
回复
牛!没的说
showwe 2011-08-03
  • 打赏
  • 举报
回复
in里4W个?
如果是in(select xx from ……)这样呢?
gogodiy 2011-08-03
  • 打赏
  • 举报
回复
豆子发的内容写明了是数量,不是里面的长度。你现在4W个,没达到65535,所以可以运行。
cd731107 2011-08-02
  • 打赏
  • 举报
回复
cd731107 2011-08-02
  • 打赏
  • 举报
回复
出现此问题的原因是 SQL Server 限制的标识符和常数可以在查询的单个表达式中包含的数量。此限制为 65,535

注意:是在单个表达式中所有标识符和常数可以包含的数量
tyson234 2011-08-02
  • 打赏
  • 举报
回复
我现在在做一个技术验证,用in是其中一个方案。领导明确指出要给出具体限制。
--小F-- 2011-08-02
  • 打赏
  • 举报
回复
in的效率又不高 能不用最好是一个都没
claro 2011-08-02
  • 打赏
  • 举报
回复
凡事总有限制,不要学K3。

in会导致查询缓慢的,在大数据量下。
勿勿 2011-08-02
  • 打赏
  • 举报
回复
呵呵。厉害。。

[Quote=引用楼主 tyson234 的回复:]
各位大侠,问下sqlserver sql语句中in后面的个数有限制吗,是多少。

我自己在PC上用sqlserver2005 测了下,4W个可以执行,5W就报错了,
错误消息为:
消息 8632,级别 17,状态 2,第 1 行
内部错误: 达到了表达式服务限制。请在您的查询中查找潜在的复杂表达式,并尝试简化它们。
[/Quote]
chuanzhang5687 2011-08-02
  • 打赏
  • 举报
回复
我顶你!!![Quote=引用楼主 tyson234 的回复:]
各位大侠,问下sqlserver sql语句中in后面的个数有限制吗,是多少。

我自己在PC上用sqlserver2005 测了下,4W个可以执行,5W就报错了,
错误消息为:
消息 8632,级别 17,状态 2,第 1 行
内部错误: 达到了表达式服务限制。请在您的查询中查找潜在的复杂表达式,并尝试简化它们。
[/Quote]
快溜 2011-08-02
  • 打赏
  • 举报
回复
这是限制的标识符和常数超出最大数量,如果你的查询里引用更少的标识符或常数,查询的会更多。
ASPNETCHENGXU 2011-08-02
  • 打赏
  • 举报
回复
为什么非得用in,换个条件判断方式不行啊
AcHerat 2011-08-02
  • 打赏
  • 举报
回复
搞那么多没必要吧!就算搞进去了还能查么?
yesyesyes 2011-08-02
  • 打赏
  • 举报
回复
in 里面有4W个,牛,就一个字
tyson234 2011-08-02
  • 打赏
  • 举报
回复
IN('0001755','0001765','0005715',.....)这应该算是一个表达式吧
里面一个'0001755',是10个长度,4W个就是40W长度,比65535大多了。
ly745455 2011-08-02
  • 打赏
  • 举报
回复
凡事总有限制,不要学K3。

rucypli 2011-08-02
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 cd731107 的回复:]
出现此问题的原因是 SQL Server 限制的标识符和常数可以在查询的单个表达式中包含的数量。此限制为 65,535

注意:是在单个表达式中所有标识符和常数可以包含的数量
[/Quote]0

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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