From: | Dominique Vallée <dominique(dot)vallee(at)mnhn(dot)fr> |
---|---|
To: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | requête plus rapide avec une table distante |
Date: | 2015-03-25 16:17:55 |
Message-ID: | 5512DFB3.4010806@mnhn.fr |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Bonjour,
Je suis confrontée à une situation que je ne comprends pas du tout :
l'exécution d'une même requête lancée sur une table distante est 20 fois
plus rapide que sur la même table mais locale.
Sur un serveur postgres 9.4.1, j'ai 2 bases spatialisées b1 (de taille
5.4 Go) et b2 (de taille 19Mo).
Dans la base b1, une table tmp_obs_coordgps (61 Mo, 502982 lignes).
Quand je fais une jointure de cette table tmp_obs_coordgps avec une
foreign table fao_areas (table de b2), j'obtiens des performances bien
meilleures qu'avec une table locale fao_aires_local (de b1) a priori
identique (créée avec un select * from fao_areas ou en utilisant un
pg_dump, le résultat est le même)
Je donne les liens des explain analyze pour les 2 requêtes :
table distante fao_areas : http://explain.depesz.com/s/4hO
select count(*) from tmp_obs_coordgps o, fao_areas f where
o.code_fao=f.f_code and st_contains(f.the_geom, o.geom);
table locale fao_aires_local : http://explain.depesz.com/s/BvDb
select count(*) from tmp_obs_coordgps o, fao_aires_local f where
o.code_fao=f.f_code and st_contains(f.the_geom, o.geom);
J'ai remarqué que le "width" annoncé pour les tables fao_areas et
fao_aires_local sont différentes : 548 et 26336.
Pourtant, pg_stats renvoie la même chose sur les 2 tables chacune dans
ces bases.
Merci à l'avance si quelqu'un peut me donner une piste d'explication.
Dominique Vallée
PS : j'ai posté mon interrogation sur le forum optimisation pour le
moment sans résultat
--
Dominique Vallée
UMS 3468 Bases de données sur la Biodiversité, Ecologie, Environnement et Sociétés (BBEES)
MNHN - Muséum national d'Histoire naturelle
01 40 79 53 70
--
Envoi via la liste pgsql-fr-generale (pgsql-fr-generale(at)postgresql(dot)org)
From | Date | Subject | |
---|---|---|---|
Next Message | Johann CHARLERY | 2015-03-25 16:23:08 | Pourriez-vous me désinscrire de la liste de diffusion svp ? |
Previous Message | Daniel Verite | 2015-03-25 15:24:17 | Re: Rendre les tables/database en read only |