explain.depesz.com

PostgreSQL's explain analyze made readable

Result: pSKA

Settings
# exclusive inclusive rows x rows loops node
1. 68.668 6,314.070 ↑ 9.6 15,120 1

36 rowsGather (cost=1,094.05..23,150,424.99 rows=145,018 width=20) (actual time=198.470..6,314.070 rows=15,120 loops=1)

  • Workers Planned: 1
  • Workers Launched: 1
  • Functions: 72
  • Options: Inlining true, Optimization true, Expressions true, Deforming true
  • Timing: Generation 7.795 ms, Inlining 53.056 ms, Optimization 222.201 ms, Emission 119.844 ms, Total 402.896 ms
2. 13.170 6,245.402 ↑ 11.3 7,560 2 / 2

Nested Loop (cost=94.05..23,134,923.19 rows=85,305 width=20) (actual time=209.788..6,245.402 rows=7,560 loops=2)

3. 49.032 49.032 ↑ 1.2 11,800 2 / 2

Parallel Index Scan using nonnetwork_polygons_layer_id_idx on nonnetwork_polygons nonnetwork_polygons_1 (cost=0.42..8,396.04 rows=13,730 width=1,888) (actual time=0.182..49.032 rows=11,800 loops=2)

  • Index Cond: (layer_id = 613)
4. 236.000 6,183.200 ↑ 5.0 1 23,600 / 2

Append (cost=93.62..1,684.33 rows=5 width=50) (actual time=0.378..0.524 rows=1 loops=23,600)

5. 354.000 2,607.800 ↑ 1.0 1 23,600 / 2

Bitmap Heap Scan on network_points (cost=93.62..144.74 rows=1 width=40) (actual time=0.198..0.221 rows=1 loops=23,600)

  • Recheck Cond: (layer_id = ANY ('{9}'::integer[]))
  • Filter: st_intersects(geom, st_simplify(nonnetwork_polygons_1.geom, '0.001'::double precision))
  • Rows Removed by Filter: 0
  • Heap Blocks: exact=8,704
6. 523.520 2,253.800 ↓ 0.0 0 23,600 / 2

BitmapAnd (cost=93.62..93.62 rows=1 width=0) (actual time=0.191..0.191 rows=0 loops=23,600)

7. 849.600 849.600 ↓ 3.4 281 23,600 / 2

Bitmap Index Scan on network_points_geom_idx (cost=0.00..26.38 rows=83 width=0) (actual time=0.072..0.072 rows=281 loops=23,600)

  • Index Cond: (geom && st_simplify(nonnetwork_polygons_1.geom, '0.001'::double precision))
8. 880.680 880.680 ↓ 1.0 6,413 4,920 / 2

Bitmap Index Scan on network_points_layer_id_idx (cost=0.00..65.45 rows=6,177 width=0) (actual time=0.358..0.358 rows=6,413 loops=4,920)

  • Index Cond: (layer_id = ANY ('{9}'::integer[]))
9. 11.800 11.800 ↓ 0.0 0 23,600 / 2

Index Scan using network_lines_layer_id_idx on network_lines (cost=0.42..52.64 rows=1 width=116) (actual time=0.001..0.001 rows=0 loops=23,600)

  • Index Cond: (layer_id = ANY ('{9}'::integer[]))
  • Filter: st_intersects(geom, st_simplify(nonnetwork_polygons_1.geom, '0.001'::double precision))
10. 11.800 11.800 ↓ 0.0 0 23,600 / 2

Index Scan using nonnetwork_points_layer_id_idx on nonnetwork_points (cost=0.42..51.63 rows=1 width=40) (actual time=0.001..0.001 rows=0 loops=23,600)

  • Index Cond: (layer_id = ANY ('{9}'::integer[]))
  • Filter: st_intersects(geom, st_simplify(nonnetwork_polygons_1.geom, '0.001'::double precision))
11. 11.800 11.800 ↓ 0.0 0 23,600 / 2

Index Scan using nonnetwork_lines_layer_id_idx on nonnetwork_lines (cost=0.41..52.63 rows=1 width=94) (actual time=0.001..0.001 rows=0 loops=23,600)

  • Index Cond: (layer_id = ANY ('{9}'::integer[]))
  • Filter: st_intersects(geom, st_simplify(nonnetwork_polygons_1.geom, '0.001'::double precision))
12. 3,304.000 3,304.000 ↓ 0.0 0 23,600 / 2

Index Scan using nonnetwork_polygons_geom_idx on nonnetwork_polygons (cost=25.28..1,382.67 rows=1 width=1,880) (actual time=0.280..0.280 rows=0 loops=23,600)

  • Index Cond: (geom && st_simplify(nonnetwork_polygons_1.geom, '0.001'::double precision))
  • Filter: ((layer_id = ANY ('{9}'::integer[])) AND st_intersects(geom, st_simplify(nonnetwork_polygons_1.geom, '0.001'::double precision)))
  • Rows Removed by Filter: 420
Execution time : 6,320.586 ms