explain.depesz.com

PostgreSQL's explain analyze made readable

Result: JAd1 : OSM County Full - Count Trees

Settings
# exclusive inclusive rows x rows loops node
1. 33,379.741 50,842.304 ↑ 1.7 36 1

HashAggregate (cost=14,126.22..14,126.83 rows=61 width=6,085) (actual time=50,842.297..50,842.304 rows=36 loops=1)

  • Group Key: c.osm_id, c.name, c.way
  • Buffers: shared hit=3677249
2. 45.963 17,462.563 ↓ 49.1 258,906 1

Nested Loop (cost=10.01..14,073.54 rows=5,268 width=6,085) (actual time=0.685..17,462.563 rows=258,906 loops=1)

  • Buffers: shared hit=1234590
3. 0.368 0.368 ↑ 1.0 61 1

Seq Scan on boundary_polygon c (cost=0.00..122.08 rows=61 width=6,077) (actual time=0.033..0.368 rows=61 loops=1)

  • Filter: (admin_level = '6'::text)
  • Rows Removed by Filter: 425
  • Buffers: shared hit=116
4. 17,377.924 17,416.232 ↓ 49.3 4,244 61

Bitmap Heap Scan on natural_point n (cost=10.01..227.85 rows=86 width=40) (actual time=16.587..285.512 rows=4,244 loops=61)

  • Recheck Cond: (c.way ~ way)
  • Filter: (("natural" = 'tree'::text) AND _st_contains(c.way, way))
  • Rows Removed by Filter: 4508
  • Heap Blocks: exact=5461
  • Buffers: shared hit=1234474
5. 38.308 38.308 ↓ 33.3 8,752 61

Bitmap Index Scan on gix_osm_natural_point (cost=0.00..9.99 rows=263 width=0) (actual time=0.628..0.628 rows=8,752 loops=61)

  • Index Cond: (c.way ~ way)
  • Buffers: shared hit=3971