explain.depesz.com

PostgreSQL's explain analyze made readable

Result: qqJn1

Settings

Optimization(s) for this plan:

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

GroupAggregate (cost=13,211.510..13,215.380 rows=36 width=1,124) (actual rows= loops=)

  • Group Key: juliet_xray.quebec_seven, juliet_xray.lima_india, juliet_xray.echo_victor, juliet_xray.juliet_six, juliet_xray.echo_hotel_charlie, juliet_xray.two_charlie, juliet_xray.xray_six, juliet_xray.kilo_quebec, juliet_xray.november_lima, juliet_xray.tango_november, juliet_xray.alpha_golf_golf, juliet_xray.two_golf, juliet_xray.india_tango, juliet_xray.romeo, juliet_xray.zulu, juliet_xray.whiskey, juliet_xray.foxtrot_whiskey, juliet_xray.two_kilo (...)
2.          

CTE five_echo

3. 0.000 0.000 ↓ 0.0

Limit (cost=0.710..12,612.630 rows=101 width=2,844) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.710..5,093,092.830 rows=40,787 width=2,844) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Index Scan using echo_hotel_romeo on alpha_golf_echo quebec_oscar (cost=0.430..4,639,006.190 rows=78,265 width=2,693) (actual rows= loops=)

  • Index Cond: (quebec_seven > 'november_golf'::bigint)
  • Filter: (india_november AND ((two_charlie)::text = 'six_zulu'::text) AND ((whiskey)::text = 'november_zulu'::text) AND (echo_tango('uniform'::text, lima_india) >= 'alpha_lima'::double precision))
6. 0.000 0.000 ↓ 0.0

Index Scan using hotel_lima on charlie_delta lima_two (cost=0.290..5.800 rows=1 width=488) (actual rows= loops=)

  • Index Cond: (quebec_seven = india_romeo1.kilo_quebec)
  • Filter: ((NOT tango_hotel) AND foxtrot_oscar)
7. 0.000 0.000 ↓ 0.0

Sort (cost=598.870..598.960 rows=36 width=1,028) (actual rows= loops=)

  • Sort Key: juliet_xray.quebec_seven, juliet_xray.lima_india DESC, juliet_xray.echo_victor, juliet_xray.juliet_six, juliet_xray.echo_hotel_charlie, juliet_xray.two_charlie, juliet_xray.xray_six, juliet_xray.kilo_quebec, juliet_xray.november_lima, juliet_xray.tango_november, juliet_xray.alpha_golf_golf, juliet_xray.two_golf, juliet_xray.india_tango, juliet_xray.romeo, juliet_xray.zulu, juliet_xray.whiskey, juliet_xray.foxtrot_whiskey (...)
8. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.560..597.940 rows=36 width=1,028) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.130..580.400 rows=36 width=1,020) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.700..562.420 rows=36 width=1,020) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.270..544.300 rows=36 width=1,000) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.850..308.670 rows=28 width=996) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.420..295.020 rows=28 width=988) (actual rows= loops=)

  • Join Filter: (quebec_four.six_hotel = charlie_quebec.quebec_seven)
14. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.990..280.900 rows=28 width=988) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.560..184.480 rows=28 width=972) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=13.280..23.740 rows=28 width=964) (actual rows= loops=)

  • Hash Cond: (four_xray.quebec_seven = juliet_xray.two_golf)
17. 0.000 0.000 ↓ 0.0

Seq Scan on xray_tango four_xray (cost=0.000..10.280 rows=28 width=20) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Hash (cost=12.930..12.930 rows=28 width=952) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Hash Join (cost=10.630..12.930 rows=28 width=952) (actual rows= loops=)

  • Hash Cond: (juliet_xray.alpha_golf_golf = november_yankee.quebec_seven)
20. 0.000 0.000 ↓ 0.0

CTE Scan on five_echo juliet_xray (cost=0.000..2.020 rows=101 width=940) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Hash (cost=10.280..10.280 rows=28 width=20) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Seq Scan on xray_tango november_yankee (cost=0.000..10.280 rows=28 width=20) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Index Scan using mike on charlie_foxtrot quebec_four (cost=0.290..5.730 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (kilo_quebec = juliet_xray.kilo_quebec)
24. 0.000 0.000 ↓ 0.0

Index Scan using victor on five_charlie oscar (cost=0.430..3.430 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (six_hotel = quebec_four.six_hotel)
25. 0.000 0.000 ↓ 0.0

Index Scan using alpha_seven on charlie_juliet charlie_quebec (cost=0.430..0.490 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (quebec_seven = oscar.six_hotel)
26. 0.000 0.000 ↓ 0.0

Index Scan using papa on juliet_golf echo_two (cost=0.430..0.490 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (quebec_seven = oscar.kilo_bravo)
27. 0.000 0.000 ↓ 0.0

Index Scan using foxtrot_seven on lima_november hotel_hotel (cost=0.430..8.410 rows=1 width=12) (actual rows= loops=)

  • Index Cond: (four_kilo = juliet_xray.echo_victor)
28. 0.000 0.000 ↓ 0.0

Index Scan using alpha_seven on charlie_juliet india_two (cost=0.430..0.500 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (quebec_seven = hotel_hotel.six_hotel)
29. 0.000 0.000 ↓ 0.0

Index Scan using victor on five_charlie delta (cost=0.430..0.490 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (six_hotel = charlie_quebec2.quebec_seven)
30. 0.000 0.000 ↓ 0.0

Index Scan using papa on juliet_golf quebec_lima (cost=0.430..0.490 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (quebec_seven = oscar2.kilo_bravo)