[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