Page 1 sur 1

A partir de combien de OR doit-on mettre IN dans une requete

Posté : 31 mai 2007, 16:02
par Invité
Voilà,

J'aimerais savoir à partir de combien de OR doit-on utiliser IN dans une requete SQL?

Ex :

WHERE id_type = 1 OR id_type = 2 OR id_type = 3

WHERE id_type IN (1,2,3)

Lequel est-il préférable d'utiliser?

Merci.

Posté : 31 mai 2007, 16:14
par Hubert Roksor
Il n'y a pas à ma connaissance de différence fonctionnelle entre les deux donc à toi de choisir celui que tu préfères. J'utilise IN() s'il y a la moindre chance d'avoir plusieurs éléments.

Si mes souvenirs sont bons, IN avec un seul élément est marginalement plus lent qu'un simple = mais rien de significatif. À partir de 2 il n'y a plus de différences.

Posté : 31 mai 2007, 16:27
par Ryle
Je ne sais pas pour MySQL, mais pour Oracle, le IN est malgré tout limité à 1000 éléments. Bon ca fait de la marge, mais ca peut parfois jouer :)