Plantage Mysql sur requête

[Résolu]
Signaler
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
-
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
-
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-

1 réponse

Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
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-