Tengo datos OpenStreetMap para los países Bajos cargados en una base de datos PostGIS (PostgreSQL 8.3 / PostGIS 1.3.3) el uso de la ósmosis esquema. Esto significa que todas las etiquetas se almacenan en un hstore campo. Además de la ESENCIA índice que ósmosis crea en el campo de la geometría, he creado un adicional de GIST índice en el campo etiquetas.
Tratando de consulta utilizando tanto una limitación espacial y una restricción en el campo etiquetas, me parece que es más lento de lo que me gustaría. Una consulta como esta:
SELECT n.geom,n.tags,n.tstamp,u.name FROM nodes AS n
INNER JOIN users AS u ON n.user_id = u.id
WHERE tags->'man_made'='surveillance'
AND ST_Within(geom, ST_GeomFromText('POLYGON((4.0 52.0,5.0 52.0,5.0 53.0,4.0 53.0,4.0 52.0))',4326));
dura 22 segundos para volver 78 los registros.
Existen alrededor de 53 millones de registros en esta tabla.
Es allí una manera de aumentar significativamente la velocidad de este proceso? He oído que hstore se implementa significativamente mejor en PostgreSQL 9, la actualización de la ayuda?