web-dev-qa-db-fra.com

Limite de condition IN MySQL

Hé, je dois utiliser la condition IN dans ma déclaration MySQL avec un grand ensemble d'identifiants.

Exemple

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

Y a-t-il une limite si les éléments de l'instruction IN peuvent avoir?

61
xpepermint

Non il n'y en a pas, consultez le manuel sur la fonction IN :

Le nombre de valeurs dans la liste IN n'est limité que par la valeur max_allowed_packet .

85
Progman

Pour autant que je sache dans mysql, il n'y a pas de limite pour les éléments dans l'instruction IN.

Dans Oracle, il existe une limite de 1 000 éléments dans l'instruction IN.

Mais plus les éléments de IN, les performances de votre requête ralentiront à moins que cette colonne soit indexée.

15
Sachin Shanbhag

enter image description here

1073741824 Ceci est la limite indiquée dans les documents Mysql

0
praveen