hstore-rendering=> explain analyze select * from planet_osm_hstore_point where (tags ? 'tactile_paving') and (tags->'tactile_paving' = 'yes'); QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------------- Bitmap Heap Scan on planet_osm_hstore_point (cost=1199.23..63438.92 rows=91 width=285) (actual time=349.077..40768.106 rows=1779 loops=1) Recheck Cond: (tags ? 'tactile_paving'::text) Filter: ((tags -> 'tactile_paving'::text) = 'yes'::text) -> Bitmap Index Scan on planet_osm_hstore_point_tags (cost=0.00..1199.21 rows=18197 width=0) (actual time=259.824..259.824 rows=3060 loops=1) Index Cond: (tags ? 'tactile_paving'::text) Total runtime: 40769.683 ms (6 Zeilen) hstore-rendering=> explain analyze select * from planet_osm_hstore_point where ((tags ? 'traffic_signals:sound') and (tags->'traffic_signals:sound' = 'yes')) or ((tags ? 'traffic_signals:vibration') and (tags->'traffic_signals:vibration' = 'yes')); QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Bitmap Heap Scan on planet_osm_hstore_point (cost=2398.51..117486.30 rows=182 width=285) (actual time=240.538..13791.933 rows=445 loops=1) Recheck Cond: ((tags ? 'traffic_signals:sound'::text) OR (tags ? 'traffic_signals:vibration'::text)) Filter: (((tags ? 'traffic_signals:sound'::text) AND ((tags -> 'traffic_signals:sound'::text) = 'yes'::text)) OR ((tags ? 'traffic_signals:vibration'::text) AND ((tags -> 'traffic_signals:vibration'::text) = 'yes'::text))) -> BitmapOr (cost=2398.51..2398.51 rows=36395 width=0) (actual time=177.850..177.850 rows=0 loops=1) -> Bitmap Index Scan on planet_osm_hstore_point_tags (cost=0.00..1199.21 rows=18197 width=0) (actual time=138.243..138.243 rows=517 loops=1) Index Cond: (tags ? 'traffic_signals:sound'::text) -> Bitmap Index Scan on planet_osm_hstore_point_tags (cost=0.00..1199.21 rows=18197 width=0) (actual time=39.601..39.601 rows=173 loops=1) Index Cond: (tags ? 'traffic_signals:vibration'::text) Total runtime: 13792.710 ms (9 Zeilen) hstore-rendering=> analyze planet_osm_hstore_point; hstore-rendering=> explain analyze select count(*) from planet_osm_hstore_point where (tags ? 'amenity') and (tags->'amenity' = 'restaurant'); QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------ Aggregate (cost=63590.20..63590.21 rows=1 width=0) (actual time=531199.646..531199.647 rows=1 loops=1) -> Bitmap Heap Scan on planet_osm_hstore_point (cost=1199.60..63589.97 rows=91 width=0) (actual time=861.815..531145.289 rows=103681 loops=1) Recheck Cond: (tags ? 'amenity'::text) Filter: ((tags -> 'amenity'::text) = 'restaurant'::text) -> Bitmap Index Scan on planet_osm_hstore_point_tags (cost=0.00..1199.58 rows=18246 width=0) (actual time=659.492..659.492 rows=1806955 loops=1) Index Cond: (tags ? 'amenity'::text) Total runtime: 531206.997 ms (7 Zeilen)