逗号分隔的IN语句中的最大项目数

时间:2013-04-12 00:33:35

标签: sql sql-server tsql

一个简单的问题,但我认为它值得在这里找到答案。

我有一个T-SQL语句:

select Name
from MyTable
where ID IN (1,2,3,4,5,.....)

在SQL中断之前,我可以在此选择中放入多少逗号分隔的ID?它会破裂吗?

1 个答案:

答案 0 :(得分:4)

列表的最大长度仅受最大批量大小限制,即65536个网络数据包。默认情况下,网络数据包为4 KB。这样就可以生成大约268 MB的T-SQL文本。如果你采用每个元素的平均长度为10位数,包括分隔,,你可以在其中放置大约2500万个单独的值,但仍然可以为查询的其余部分留出空间。

请参阅:Maximum Capacity Specifications for SQL Server