[OSM-dev-fr] Osm2pgsql schema : renverser planet_osm_rels

sly (sylvain letuffe) liste at letuffe.org
Dim 15 Avr 22:13:27 BST 2012


J'ai peur que ma réponse puisse tomber tout à fait à coté de la plaque, mais 
histoire que tu te sentes soutenu dans ton problème ;-)



Perso, j'ai un peu peur de cette condition :

>          WHERE
>              b.osm_id = ANY(planet_osm_rels.parts);

Non pas que je vois une meilleure idée, mais j'ai peur que ça n'utilise aucun 
index et que ça oblige postgresql à la résoudre en séquenciel, et séquenciel, 
ça peut vouloir dire beaucoup


> Celà prend énormément de temps (au moins > 1heure), alors que dans ma
> base des pistes de ski je n'ai que 3319 relations et 67235 ways.
> 
> Celà ne me semble pas si complexe ??

ça peut faire 3319 * 67235 boucles (sachant que planet_osm_rels.parts c'est 
déjà un tableau à parcourir !)

Tu peux tenter la même requete mais avec un EXPLAIN devant ?
genre :
explain select * from bidule;

ça te donnera le "plan de résolution" de ta requête (nombre de boucles, 
indexes utilisés, etc.)


-- 
sly (sylvain letuffe)



Plus d'informations sur la liste de diffusion dev-fr