当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/