explain.depesz.com

PostgreSQL's explain analyze made readable

Result: V9Rm

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

GroupAggregate (cost=8,914,233.920..8,914,327.920 rows=400 width=142) (actual rows= loops=)

  • Group Key: kilo_foxtrot.two_charlie_oscar, xray_six.five_zulu, kilo_foxtrot.hotel_sierra_seven, kilo_foxtrot.three_alpha, xray_six.foxtrot_three, xray_six.lima_romeo
2.          

CTE victor_quebec

3. 0.000 0.000 ↓ 0.0

Result (cost=82.340..359.840 rows=1,000 width=48) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Sort (cost=82.340..84.840 rows=1,000 width=52) (actual rows= loops=)

  • Sort Key: (five_zulu() zulu_quebec (?)) DESC
5. 0.000 0.000 ↓ 0.0

WindowAgg (cost=0.020..32.520 rows=1,000 width=52) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Function Scan on xray_yankee hotel_mike (cost=0.020..10.020 rows=1,000 width=8) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Sort (cost=8,913,874.080..8,913,879.080 rows=2,000 width=126) (actual rows= loops=)

  • Sort Key: kilo_foxtrot.two_charlie_oscar, xray_six.five_zulu DESC, kilo_foxtrot.three_alpha, xray_six.foxtrot_three, xray_six.lima_romeo
8. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4,321.340..8,913,764.420 rows=2,000 width=126) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Seq Scan on victor_whiskey kilo_foxtrot (cost=0.000..1.020 rows=2 width=30) (actual rows= loops=)

  • Filter: (hotel_sierra_seven = 3156)
10. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4,321.340..4,456,871.700 rows=1,000 width=96) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

CTE Scan on victor_quebec xray_six (cost=0.000..20.000 rows=1,000 width=16) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=4,321.340..4,456.830 rows=1 width=100) (actual rows= loops=)

  • Join Filter: (two_five.oscar_charlie = six_alpha.quebec_seven)
13. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=4,321.340..4,436.380 rows=1 width=89) (actual rows= loops=)

  • Join Filter: ((alpha_quebec.hotel_sierra_seven = hotel_tango.hotel_sierra_seven) AND (xray_quebec.whiskey = hotel_tango.whiskey))
14. 0.000 0.000 ↓ 0.0

Nested Loop (cost=255.240..370.200 rows=1 width=29) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Nested Loop (cost=254.680..361.620 rows=1 width=28) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Nested Loop (cost=254.260..353.170 rows=1 width=20) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on delta_whiskey six_alpha (cost=253.970..311.610 rows=5 width=16) (actual rows= loops=)

  • Recheck Cond: ((three_alpha = kilo_foxtrot.three_alpha) AND (hotel_sierra_seven = kilo_foxtrot.hotel_sierra_seven))
  • Filter: (lima_sierra(mike_romeo, ('victor_foxtrot'::date)::timestamp with time zone) > xray_six.lima_romeo)
18. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=253.970..253.970 rows=15 width=0) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on bravo_papa (cost=0.000..6.420 rows=267 width=0) (actual rows= loops=)

  • Index Cond: (three_alpha = kilo_foxtrot.three_alpha)
20. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on oscar_echo (cost=0.000..247.290 rows=13,183 width=0) (actual rows= loops=)

  • Index Cond: (hotel_sierra_seven = kilo_foxtrot.hotel_sierra_seven)
21. 0.000 0.000 ↓ 0.0

Index Scan using oscar_delta on seven_romeo four_five (cost=0.290..8.310 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (quebec_seven = six_alpha.five_charlie)
  • Filter: (hotel_sierra_seven = kilo_foxtrot.hotel_sierra_seven)
22. 0.000 0.000 ↓ 0.0

Index Scan using zulu_november on foxtrot_november bravo_quebec (cost=0.420..8.450 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (oscar_charlie = six_alpha.quebec_seven)
  • Filter: ((hotel_sierra_seven = kilo_foxtrot.hotel_sierra_seven) AND (lima_sierra(mike_romeo, ('victor_foxtrot'::date)::timestamp with time zone) > xray_six.lima_romeo))
23. 0.000 0.000 ↓ 0.0

Index Scan using quebec_india on three_mike hotel_tango (cost=0.560..8.570 rows=1 width=17) (actual rows= loops=)

  • Index Cond: ((hotel_sierra_seven = kilo_foxtrot.hotel_sierra_seven) AND (whiskey = bravo_quebec.quebec_seven) AND (xray_six.lima_romeo >= uniform_four) AND (xray_six.lima_romeo <= mike_golf) AND (two_lima = 0))
  • Filter: ((bravo_quebec.three_alpha = three_alpha) AND (lima_sierra(mike_romeo, ('victor_foxtrot'::date)::timestamp with time zone) > xray_six.lima_romeo))
24. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=4,066.100..4,066.150 rows=1 width=130) (actual rows= loops=)

  • Group Key: alpha_quebec.hotel_sierra_seven, alpha_quebec.three_alpha, xray_quebec.whiskey, (xray_six.five_zulu), (xray_six.foxtrot_three), (xray_six.lima_romeo), november_uniform.six_mike, echo.six_mike
25. 0.000 0.000 ↓ 0.0

Sort (cost=4,066.100..4,066.110 rows=1 width=66) (actual rows= loops=)

  • Sort Key: alpha_quebec.three_alpha, xray_quebec.whiskey, november_uniform.six_mike, echo.six_mike
26. 0.000 0.000 ↓ 0.0

Result (cost=1.850..4,066.090 rows=1 width=66) (actual rows= loops=)

  • One-Time Filter: (kilo_foxtrot.hotel_sierra_seven = 3156)
27. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.850..4,066.090 rows=1 width=66) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.420..4,057.630 rows=1 width=29) (actual rows= loops=)

  • Join Filter: ((echo.hotel_sierra_seven = victor_whiskey.hotel_sierra_seven) AND (echo.three_alpha = victor_whiskey.three_alpha))
29. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.420..4,056.610 rows=1 width=24) (actual rows= loops=)

30. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.860..4,048.660 rows=1 width=44) (actual rows= loops=)

  • Join Filter: (victor_whiskey.three_alpha = alpha_quebec.three_alpha)
31. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.430..2,358.020 rows=148 width=20) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Seq Scan on victor_whiskey (cost=0.000..1.020 rows=2 width=8) (actual rows= loops=)

33. 0.000 0.000 ↓ 0.0

Index Scan using bravo_zulu on quebec_foxtrot india (cost=0.430..1,177.760 rows=74 width=12) (actual rows= loops=)

  • Index Cond: ((hotel_sierra_seven = 3156) AND (three_alpha = victor_whiskey.three_alpha))
  • Filter: (three_november <> november_november ('kilo_delta'::integer[]))
34. 0.000 0.000 ↓ 0.0

Index Scan using sierra_hotel on yankee alpha_quebec (cost=0.430..11.410 rows=1 width=40) (actual rows= loops=)

  • Index Cond: (november_golf = india.quebec_seven)
  • Filter: ((NOT two_golf) AND (hotel_sierra_seven = 3156) AND (sierra_xray = 307) AND (kilo_india = 2) AND (india.three_alpha = three_alpha) AND ((four_mike = papa('two_charlie_foxtrot'::text, (xray_six.lima_romeo)::timestamp with time zone)) OR ((delta_bravo <= xray_six.lima_romeo) AND (lima_sierra(mike_hotel, 'victor_foxtrot'::date) >= xray_six.lima_romeo) AND (lima_sierra(mike_romeo, ('victor_foxtrot'::date)::timestamp with time zone) > xray_six.lima_romeo))))
35. 0.000 0.000 ↓ 0.0

Index Scan using seven_india on november_papa xray_quebec (cost=0.560..7.940 rows=1 width=16) (actual rows= loops=)

  • Index Cond: ((hotel_sierra_seven = 3156) AND (sierra_victor = alpha_quebec.sierra_victor))
  • Filter: ((xray_six.lima_romeo >= uniform_four) AND (xray_six.lima_romeo <= mike_golf) AND (three_november = ANY ('mike_mike'::integer[])) AND (uniform_xray <> 5) AND (two_lima = 0) AND ((alpha_quebec.four_mike = papa('two_charlie_foxtrot'::text, (xray_six.lima_romeo)::timestamp with time zone)) OR ((alpha_quebec.delta_bravo <= xray_six.lima_romeo) AND (lima_sierra(alpha_quebec.mike_hotel, 'victor_foxtrot'::date) >= xray_six.lima_romeo) AND (lima_sierra(alpha_quebec.mike_romeo, ('victor_foxtrot'::date)::timestamp with time zone) > xray_six.lima_romeo) AND (lima_sierra(kilo_november, 'victor_foxtrot'::date) > xray_six.lima_romeo))))
36. 0.000 0.000 ↓ 0.0

Seq Scan on four_six echo (cost=0.000..1.010 rows=1 width=13) (actual rows= loops=)

  • Filter: ((uniform_yankee)::text = 'lima_xray'::text)
37. 0.000 0.000 ↓ 0.0

Index Scan using hotel_sierra_hotel on alpha_mike november_uniform (cost=0.420..8.440 rows=1 width=37) (actual rows= loops=)

  • Index Cond: ((hotel_sierra_seven = victor_whiskey.hotel_sierra_seven) AND (three_alpha = victor_whiskey.three_alpha) AND ((uniform_yankee)::text = 'hotel_xray'::text))
38. 0.000 0.000 ↓ 0.0

Seq Scan on two_five (cost=0.000..12.210 rows=657 width=12) (actual rows= loops=)