当IN或NOT IN的条件非常大时,我的应用程序出现内存不足异常。我想知道对此有什么限制。

最佳答案

也许使用另一种方法来完成查询会更好些?

我建议您将匹配值加载到单列表中,然后将要查询的列内部联接到新表中的单列中。

而不是

SELECT a, b, c FROM t1 WHERE d in (d1, d2, d3, d4, ...)

用1列构建一个临时表,将其称为“dval”
dval
----
 d1
 d2
 d3
SELECT a, b, c FROM t1
INNER JOIN temptbl ON t1.d = temptbl.dval

关于mysql - MySQL中IN和NOT IN的大小限制是多少,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/452824/

10-09 20:10