Bonjour à tous,
Je développe actuellement un logiciel de comptabilité pour mes parents, qui permet notamment de gérer leur factures. Ce logiciel comprend notamment deux tables : "factures" et "produits". La première détenant les informations relatives aux factures, et la seconde aux produits dans les factures.
Cette requête est censé comptabilisée la total d'une seule et même facture :
Avec ce code et quelques 300 factures (ce qui n'est vraiment pas beaucoup, vous en conviendrez.), PHP met plus de 15 secondes à me charger la page ... rendant le développement du projet totalement impossible. Sachant que c'est la première fois que j'utilise les LEFT JOIN, il y a sans-doute quelque chose que je fais mal ... avez vous des idées pour améliorer cette petite syntaxe ?
Merci d'avance
Modifié par Gaylord.P (01 May 2011 - 16:04)
Je développe actuellement un logiciel de comptabilité pour mes parents, qui permet notamment de gérer leur factures. Ce logiciel comprend notamment deux tables : "factures" et "produits". La première détenant les informations relatives aux factures, et la seconde aux produits dans les factures.
Cette requête est censé comptabilisée la total d'une seule et même facture :
SELECT COUNT(DISTINCT T1.facture_reference) AS count, SUM(T2.produit_prix * T2.produit_quantite) AS total
FROM factures T1
LEFT JOIN produits T2 ON T1.facture_reference = T2.facture_reference
WHERE T1.id_client = T2.id_client AND T1.paiement IS NULL AND T1.delete_timestamp IS NULL AND T2.delete_timestamp IS NULL
Avec ce code et quelques 300 factures (ce qui n'est vraiment pas beaucoup, vous en conviendrez.), PHP met plus de 15 secondes à me charger la page ... rendant le développement du projet totalement impossible. Sachant que c'est la première fois que j'utilise les LEFT JOIN, il y a sans-doute quelque chose que je fais mal ... avez vous des idées pour améliorer cette petite syntaxe ?
Merci d'avance

Modifié par Gaylord.P (01 May 2011 - 16:04)