【发布时间】:2010-11-07 08:27:04
【问题描述】:
我正在使用以下代码:
SELECT * FROM table
WHERE Col IN (123,123,222,....)
但是,如果我在 IN 子句中输入超过 ~3000 个数字,SQL 会引发错误。
有没有人知道是否有大小限制或类似的东西?!!
【问题讨论】:
-
将 IN 子句中的数字按足够大的组进行处理,并同时将它们全部异步。
-
实际上不要使用 in - IN 不好,因为它不包含统计信息。使用主键声明键的表值类型(然后附加统计值),在此处插入值,在表和该临时表之间连接,查询优化器可以完成它的工作。
标签: sql sql-server tsql