在mysql或postgres中,IN(1,2,n)语句的大小是否有限制?

Kyl*_*yle 8 mysql sql database postgresql limit

我有很多这样的SQL语句:

SELECT foo FROM things WHERE user_id IN (1,2,3..n)

对那些安全地适合IN子句的元素数量是否存在已知限制?

小智 7

PostgreSQL中的1000限制不是硬限制,它是一个优化限制,即; 1000之后PostgreSQL没有很好地处理它.当然,我不得不问你在世界上用1000条目IN条款做什么.


Red*_*ter 5

对于 MySQL,来自手册

列表中值的数量IN仅受值的限制max_allowed_packet


Str*_*rae 4

没有技术限制,但有某种“良好意识”限制。

IN 子句中包含太多元素意味着查询可能有一个糟糕的设计(恕我直言)