Problème mysql comparaison deux tables

Fermé
mattLacou - 1 juil. 2009 à 13:01
atspinto Messages postés 338 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 8 août 2014 - 1 juil. 2009 à 13:36
Bonjour,
J'ai une base de données mysql avec une table products, une table temp_products et une table new_products.
Lors de mon update de ma base de données, je rempli la table temp_products avec mes nouveaux produits, et je dois la comparer à la table products pour detecter les produits qui n'étaient pas là avant afin de les mettre dans la table new_products.

Pour detecter les nouveaux produits, j'utilise la requête suivante :
SELECT * FROM temp_products
WHERE temp_products.productName NOT IN (SELECT products.productName FROM products)


Cette requête marche correctement lorsque les produits ne sont pas nombreux.
Cependant, avec 25000 produits dans ma base de données, ça mouline pendant quelques minutes et wampserver me sort une page blanche sans aucun résultat ni message d'erreur.
(j'ai changé le temps d'execution max dans php.ini)

Si vous avez une solution pour que ma requête marche ou une autre requête qui serai rapide.
A voir également:

1 réponse

atspinto Messages postés 338 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 8 août 2014 27
1 juil. 2009 à 13:36
je crois que c'est un peu normal..
1 - la requete imbriquée crée un table temporaire
2 - chaque ligne est comparé à tout l'ensemble resultat de la requete imbriquée. et vu que t'as 25000 lignes..

je sais pas si ça peut t'aider...
- mais tu peux mettre un compteur et voir à chaque fois tu te situes
- faire le test par bloc de 500 enregistrement peut etre..
- ou proceder par une jointure.. FULL OUTER JOIN

0