explain.depesz.com

PostgreSQL's explain analyze made readable

Result: ytGg

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

HashAggregate (cost=35,219.270..35,219.280 rows=1 width=21) (actual rows= loops=)

  • Group Key: five_victor.juliet
2. 0.000 0.000 ↓ 0.0

Nested Loop (cost=5,519.760..35,219.260 rows=1 width=21) (actual rows= loops=)

  • Join Filter: (((five_victor.victor_quebec five_romeo NULL) OR (five_victor.victor_quebec <= uniform_yankee.romeo_xray)) AND ((five_victor.two_seven five_romeo NULL) OR (five_victor.two_seven >= uniform_yankee.romeo_xray)) AND (delta_four 1))
3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=5,519.470..33,048.870 rows=1 width=66) (actual rows= loops=)

  • Join Filter: (tango_echo.delta_xray = kilo_oscar.delta_xray)
4. 0.000 0.000 ↓ 0.0

Hash Join (cost=5,519.180..33,047.180 rows=5 width=77) (actual rows= loops=)

  • Hash Cond: (victor_four.papa = five_victor.juliet)
5. 0.000 0.000 ↓ 0.0

Seq Scan on romeo_juliet victor_four (cost=0.000..26,060.580 rows=391,302 width=29) (actual rows= loops=)

  • Filter: ((NOT foxtrot) AND (two_charlie = 'golf'::text))
6. 0.000 0.000 ↓ 0.0

Hash (cost=5,514.760..5,514.760 rows=353 width=61) (actual rows= loops=)

  • Buckets: 131072 (originally 1024) Batches: 1 (originally 1) Memory Usage: 8658kB
7. 0.000 0.000 ↓ 0.0

Nested Loop (cost=2,022.100..5,514.760 rows=353 width=61) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Nested Loop (cost=2,010.010..3,965.900 rows=1 width=46) (actual rows= loops=)

  • Join Filter: (seven.delta_xray = tango_echo.delta_xray)
9. 0.000 0.000 ↓ 0.0

Group (cost=2,010.010..2,010.030 rows=2 width=27) (actual rows= loops=)

  • Group Key: tango_echo.delta_xray, tango_echo.bravo_foxtrot, tango_echo.kilo_november
10. 0.000 0.000 ↓ 0.0

Sort (cost=2,010.010..2,010.010 rows=2 width=27) (actual rows= loops=)

  • Sort Key: tango_echo.delta_xray, tango_echo.bravo_foxtrot, tango_echo.kilo_november
11. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.720..2,010.000 rows=2 width=27) (actual rows= loops=)

  • Join Filter: (((tango_echo.four_papa five_romeo NULL) OR (tango_echo.four_papa <= yankee.romeo_xray)) AND ((tango_echo.six five_romeo NULL) OR (tango_echo.six >= yankee.romeo_xray)))
12. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.290..1,964.910 rows=2 width=15) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Index Scan using four_yankee on uniform_yankee yankee (cost=0.290..9.110 rows=1 width=12) (actual rows= loops=)

  • Index Cond: (quebec = 'uniform_november'::bigint)
14. 0.000 0.000 ↓ 0.0

Seq Scan on seven alpha_alpha (cost=0.000..1,955.790 rows=2 width=19) (actual rows= loops=)

  • Filter: (sierra = 'uniform_november'::bigint)
15. 0.000 0.000 ↓ 0.0

Index Scan using tango_delta on alpha_india tango_echo (cost=0.430..22.480 rows=4 width=43) (actual rows= loops=)

  • Index Cond: (delta_xray = alpha_alpha.delta_xray)
16. 0.000 0.000 ↓ 0.0

Materialize (cost=0.000..1,955.800 rows=2 width=19) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Seq Scan on seven (cost=0.000..1,955.790 rows=2 width=19) (actual rows= loops=)

  • Filter: (sierra = 'uniform_november'::bigint)
18. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on five_victor (cost=12.100..1,545.340 rows=353 width=42) (actual rows= loops=)

  • Recheck Cond: (kilo_november = tango_echo.kilo_november)
19. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on bravo_november (cost=0.000..12.010 rows=353 width=0) (actual rows= loops=)

  • Index Cond: (kilo_november = tango_echo.kilo_november)
20. 0.000 0.000 ↓ 0.0

Index Scan using delta_uniform on seven kilo_oscar (cost=0.290..0.320 rows=1 width=19) (actual rows= loops=)

  • Index Cond: (quebec = victor_four.two_bravo)
21. 0.000 0.000 ↓ 0.0

Index Scan using four_yankee on uniform_yankee (cost=0.290..9.110 rows=1 width=12) (actual rows= loops=)

  • Index Cond: (quebec = 'uniform_november'::bigint)
22.          

SubPlan (for Nested Loop)

23. 0.000 0.000 ↓ 0.0

Limit (cost=2,161.270..2,161.270 rows=1 width=12) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Sort (cost=2,161.270..2,161.290 rows=8 width=12) (actual rows= loops=)

  • Sort Key: romeo_two.romeo_xray DESC, november.quebec DESC
25. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.290..2,161.150 rows=8 width=12) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Seq Scan on seven november (cost=0.000..1,955.790 rows=23 width=16) (actual rows= loops=)

  • Filter: (delta_xray = seven.delta_xray)
27. 0.000 0.000 ↓ 0.0

Index Scan using four_yankee on uniform_yankee romeo_two (cost=0.290..8.920 rows=1 width=12) (actual rows= loops=)

  • Index Cond: (quebec = november.sierra)
  • Filter: (romeo_xray <= uniform_yankee.romeo_xray)