Plantage Mysql sur requête

Résolu
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 3 déc. 2008 à 13:26
kohntark Messages postés 3705 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-

1 réponse

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
3 déc. 2008 à 13:47
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-
3
Rejoignez-nous