Mysql
 sql >> Base de données >  >> RDS >> Mysql

Combien de valeurs dans une clause in sont trop nombreuses dans une requête SQL ?

Oracle a une limite de 1000, que j'ai déjà atteinte. MySQL ne semble pas s'en soucier. La meilleure solution est de ne pas utiliser une clause IN pour un ensemble de données aussi volumineux. D'où viennent les identifiants ? Si à partir de la même base de données, voyez si vous pouvez utiliser une sous-requête à la place qui recherche en fonction d'un paramètre, par ex. userid pour trouver les identifiants liés. Ce sera beaucoup plus efficace car MySQL peut faire une jointure en interne en utilisant des index.