SQL IN 子句 1000 项限制

标签 sql oracle

SQL IN 子句中可以放入超过 1000 个项目吗?我们的 Oracle 数据库一直遇到无法处理它的问题。

如果是,我们如何在 SQL IN 子句中放入超过 1000 个项目?

如果没有,我还能做什么?

最佳答案

还有另一种解决方法,在任何其他答案(或其他已回答的问题)中都没有提到:

任何像 x in (1,2,3) 这样的 in 语句都可以重写为 (1,x) in ((1,1), (1,2), ( 1,3)) 并且 1000 个元素的限制将不再适用。我已经使用 x 上的索引进行了测试,并且解释计划仍然报告 Oracle 正在使用访问谓词和范围扫描。

关于SQL IN 子句 1000 项限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4722220/

相关文章:

sql - Oracle VIEW - 列中超过 4000 字节

sql - text/xmldecl 不在输入的开头

sql - 带有第二个数据库的 PostgreSQL FOREIGN KEY

MySQL 存储过程 - 如何在 FROM 子句中使用参数

oracle - 在循环中创建 Oracle 表

java - 作为模式的用户或所有者运行 DBUnit 之间有区别吗

mysql - 计算两行之间的日期时间,显示超过 60 秒的日期时间

java - 如何在JPA中定义多对多到自身?

sql - PL/SQL 使用表变量作为查询表

sql - SQL中两个字符定界符上的正则表达式子字符串