Operateur NOT IN marche pas sur des millions d'enregistrements

Résolu
sihammaster Messages postés 41 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 19 septembre 2013 - 12 nov. 2012 à 18:09
 mudenstrasse - 12 févr. 2014 à 11:40
Bonjour,

j'ai 2 tables sql, table_A et table_B dont je voudrais sélectionner les données existent dans table_A et non dans la table table_B,
j'ai utilisé la requête suivantes:

select titre from table_A where titre not in(select titre from table_B)


cette requête a marché bien avant mais maintenant ca retourne 0, meme s'il y'a des données.
je sais pas est ce que ça lié au nombre d'enregistrements parce que mes tables ont passés les 2 millions d'enregistrements,
Merci d’avance.
A voir également:

11 réponses

pmcoste Messages postés 72 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 25 juillet 2013 1
21 nov. 2012 à 20:13
Non, l'opérateur "not in" n'a pas de limites techniques. Cependant, une requête avec des milliers d'enregistrements mettra ton serveur à genoux car il doit faire un full-scan sur toute la sous-requête, donc c'est très gourmand en ressources. Tout dépend donc de ton serveur (mémoire, etc..) et de son utilisation.
Préfères donc ma méthode car elle utilise les index donc tu auras un temps de réponse divisé par 10, ce qui est préférable pour tout le monde (serveur, client, etc..).



-------------------
Oderint dum metuant