kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 2012
-
3 déc. 2008 à 13:26
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 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 !
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 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.