2010-06-21 27 views

Répondre

2

Je ne crois pas qu'il y ait une limite au nombre de valeurs dans la liste de la clause IN dans MySQL, contrairement à la limite de 1000 Oracle. Je vérifierais ceci cependant en écrivant une sorte de boucle pour construire une déclaration 'IN' vraiment longue si vous aviez un souci. De plus, someone else asked this question and there wasn't a known limit.

0

Avec "limites", faites-vous référence à une limitation dans l'implémentation, ou à quelque chose qui va ralentir la requête? Si c'est le dernier, la meilleure réponse est de le tester vous-même.

+0

Désolé d'être vague. Je demande juste si quelques milliers de nombres à l'intérieur de l'instruction in sont trop élevés et arrêtent le serveur :) – Matt

+2

Vous pourriez essayer d'insérer ces données dans une table temporaire en premier. –

1

Dans Oracle (Vérifié seulement 10g), il est 1000.

ORA-01795: maximum number of expressions in a list is 1000

0

MS SQL Server s'établit à environ 2000, MS SQL Compact n'a pas de limites (ou je ne l'ai pas encore atteint, plus de 2500).

Remarque: ce sont des limites sur les paramètres pour les requêtes.

3

Je dirais que si vous devez demander alors vous faites probablement quelque chose de mal. :)