[Talk-de] Performanceprobleme bei Mapnik/SQL

Frederik Ramm frederik at remote.org
So Feb 6 10:13:30 UTC 2011


Hi,

Stephan Wolff wrote:
> Ich hatte vermutet, dass meine verschachtelten Abfragen Schuld sind, 
> aber Frederik hat mit dieser Beschreibung die Hauptursache getroffen.
> Ich habe den Zeitbedarf verschiedener SQL-Abfragen für größere Bereiche
> verglichen. Eine einfache Abfrage aller Punkte mit "power=generator"
> 
> $ time psql -c "select count(*) from planet_point where power=generator 
> and way && <bounding_box> ...
> 
> benötigte in meinem Testbereich etwa 2,5 Minuten.

Probier mal

CREATE INDEX generator_index ON planet_osm_point using GIST(way 
GIST_GEOMETRY_OPS) WHERE power=generator;

Der Request sollte nur wenige Minuten dauern. Danach muesste Deine 
Abfrage schneller sein.

> Somit bleibt zur Beschleunigung nur die Möglichkeit, eine eigene
> Datenbank vorab anzulegen. Kann man Osm2pgsql so konfigurieren,
> dass eine weitere Tabelle mitgepflegt wird oder muss man in
> regelmäßigen Abständen die gesamte Hauptdatenbank filtern?

Der Query oben macht im Effekt das; er erzeugt einen bedingten Index, in 
dem *nur* alle power=generator-Nodes anhand ihrer Position verzeichnet 
sind. Das braucht zusaetzlich Platz (aber nicht viel - sind ja nicht so 
viele Nodes) und verlangsamt Updates (aber nicht viel), sollte Abfragen 
aber deutlich beschleunigen.

Bye
Frederik

-- 
Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00'09" E008°23'33"




Mehr Informationen über die Mailingliste Talk-de