Vous n'êtes pas identifié(e).
Bonjour à tous,
J'ai un problème au niveau de la rapidité de chargement des données, j'ai une requête qui charge une liste de facture (1158 lignes) avec les informations sur les clients (table de 750 lignes), ma requête se fait en 400ms en moyenne mais la récupération des données met 4 secondes dans pgAdminIII et environ 35 secondes via PHP ! Alors que quand je veux afficher tous les résultats d'une seule table, il n'y a aucun délai !
Donc ma question est : pensez-vous que cela viens de ma requête ou plus de la configuration de mon serveur ?
Pour info voici ma requête :
SELECT
facture.id,
facture.ref,
to_char(facture.date, 'dd/mm/YYYY') AS date,
facture.client_id,
facture.titre,
facture.descr,
facture.com,
to_char(facture.date_liv, 'dd/mm/YYYY'),
projet.titre,
client.denom,
client.sigle,
client.nomcom,
client.forme,
client.capital,
client.siret,
client.naf,
client.acti,
client.add1,
client.add2,
client.cp,
client.ville,
client.pays,
client.tel,
client.fax,
client.mail
FROM facture
LEFT JOIN projet ON facture.projet_id = projet.id
LEFT JOIN client ON facture.client_id = client.id;
Et l'EXPLAIN :
"Hash Left Join (cost=39.09..181.22 rows=1080 width=438)"
" Hash Cond: (facture.client_id = client.id)"
" -> Hash Left Join (cost=3.49..119.96 rows=1080 width=286)"
" Hash Cond: (facture.projet_id = projet.id)"
" -> Seq Scan on facture (cost=0.00..110.80 rows=1080 width=270)"
" -> Hash (cost=2.66..2.66 rows=66 width=32)"
" -> Seq Scan on gav_gp_proj (cost=0.00..2.66 rows=66 width=32)"
" -> Hash (cost=26.38..26.38 rows=738 width=160)"
" -> Seq Scan on client (cost=0.00..26.38 rows=738 width=160)"
Merci d'avance !
Rémi
Hors ligne
Vous pouvez faire un EXPLAIN ANALYZE de la requête ?
Guillaume.
Hors ligne