sql“in”语句可以处理的最大变量是多少
Posted
技术标签:
【中文标题】sql“in”语句可以处理的最大变量是多少【英文标题】:What's is the maximum variables the sql "in" statement can handle 【发布时间】:2011-03-06 03:52:26 【问题描述】:如上所述 例如 WHERE In(var 1,var 2,var 3, ..., var 5609,)
在减慢机器速度之前有什么限制吗?
【问题讨论】:
您使用的是哪个 SQL 数据库服务器?毫无疑问,它在每个实现之间有所不同。 mysql 5.1.36 为帮助好友干杯 【参考方案1】:我想说,如果你不得不问,那么你可能做错了什么。 :)
【讨论】:
【参考方案2】:MS SQL Server 在 2000 年左右窒息,MS SQL Compact 没有限制(或者我还没有达到,超过 2500)。
注意:这些是查询参数的限制。
【讨论】:
【参考方案3】:我不认为 MySQL 中 IN 子句列表中的值数量有限制,这与 1000 Oracle 限制不同。不过,如果您有顾虑,我会通过编写某种循环来构建一个非常长的“IN”语句来验证这一点。另外,someone else asked this question and there wasn't a known limit.
【讨论】:
【参考方案4】:在 Oracle(仅在 10g 中验证)中为 1000。
ORA-01795: maximum number of expressions in a list is 1000
【讨论】:
【参考方案5】:Oracle 9i Maximum number of expressions 在一个列表中是 1000;
【讨论】:
【参考方案6】:对于“限制”,您是指实现中的限制,还是会减慢查询速度的东西?如果是后者,最好的答案是自己测试。
【讨论】:
抱歉含糊不清。我只是在问 in 语句中的几千个数字是否太多并且会使服务器停止:) 您可以先尝试将该数据插入到临时表中。以上是关于sql“in”语句可以处理的最大变量是多少的主要内容,如果未能解决你的问题,请参考以下文章