On 01/22/2013 10:53 AM, Paul Norman wrote:
On case where it's a clear winner is where*all* queries involve both a
spatial and tag component and there isn't a need for a separate gin index if
the composite index is used.
This sounds like a big win for WMS servers that use OpenStreetMap data.
I have an installation where GeoServer serves layers from a database
based on the osm2pgsql schema and layers are defined similarly to the
default imposm setup so there's a layer for roads, waterways, emergency
etc. and of course these definitions are based on tags.
So every WMS map request generates something like this:
SELECT "type",encode(ST_AsBinary(ST_Force_2D("way")),'base64') as "way"
FROM "public"."view_railways" WHERE ("way" && ST_GeomFromText('POLYGON
((2031543.337480622 6414748.28685562, 2031543.337480622
6578323.527363132, 2195118.5779881305 6578323.527
363132, 2195118.5779881305 6414748.28685562, 2031543.337480622
6414748.28685562))', 900913) AND "type" = 'rail')
Right now I have separate indexes (GIN on hstore, GIST on geom) but it's
interesting that a composite index could work well too.
I will try that, thanks for describing your findings - perhaps this
stuff could be documented on the wiki somewhere because on the mailing
list it will be soon forgotten in the archives and it's very valuable
content.
Paweł
_______________________________________________
osmosis-dev mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/osmosis-dev