MySQL IN ограничение по объему - PullRequest
60 голосов
/ 25 ноября 2010

Эй, я должен использовать условие IN в своем операторе MySQL с большим набором идентификаторов.

Пример

SELECT * FROM users WHERE id IN (1,2,3,4...100000)

Есть ли предел, если элементы могут иметь оператор IN?

Ответы [ 3 ]

84 голосов
/ 25 ноября 2010

Нет, нет, проверьте руководство о функции IN :

Количество значений в списке IN ограничено только значением max_allowed_packet .

15 голосов
/ 25 ноября 2010

Насколько я знаю, в mysql нет ограничений на элементы в операторе IN.

В oracle altough есть ограничение на 1000 элементов в инструкции IN.*

Но чем больше элементов в IN, тем быстрее будет снижаться производительность запросов, если этот столбец не проиндексирован.

0 голосов
/ 11 апреля 2019

enter image description here

1073741824 Это ограничение, указанное в документах Mysql

...