PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Optimisation » Requête rapide mais récupération des données lentes » 12/12/2014 11:32:40

remi02
Réponses : 1

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

Pied de page des forums

Propulsé par FluxBB