Plantage Mysql sur requête [Résolu]

Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
- - Dernière réponse : kohntark
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
- 3 déc. 2008 à 13:47
Salut,

Voici mon problème :
tables :
a : ~478 305 enregistrements
b : ~465 813 enregistrements
c : ~460 070 enregistrements

Je cherche à trouver les ref présentent dans a qui ne le sont pas dans b et dans c
requêtes :
SELECT a.ref FROM a WHERE a.ref NOT IN (SELECT b.ref FROM b)

=> Résultat OK une vingtaine de secondes plus tard

par contre :
SELECT a.ref FROM a WHERE a.ref NOT IN (SELECT c.ref FROM c)

=> 100 % de charge CPU, même en laissant mysql travailler (?) pendant 1/2 heure, ... la requête ne passe pas !

Si quelqu'un a une idée :o)

Kohntark-
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
21
3
Merci
Re,

En voulant poster les structures des tables je viens de m'apercevoir de "l'erreur". Le champ ref des tables a et b est un int(10) alors que celui de la table c est un VARCHAR(10). Il me semblait pourtant l'avoir déjà vérifié ... menfin ça marche maintenant.
Bizzare que ce type de requête ne retourne pas un warning tout de même.

Merci de votre "non-aide" :o)

Kohntark-

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 127 internautes nous ont dit merci ce mois-ci

Commenter la réponse de kohntark