explain.depesz.com

PostgreSQL's explain analyze made readable

Result: nmUF

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

Nested Loop (cost=658,901.13..63,435,168,417.37 rows=5,443,068 width=4,477) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=658,901.13..63,434,528,836.87 rows=1,360,767 width=4,445) (actual rows= loops=)

  • Hash Cond: ((ifl.airline_country_code)::text = lp_arl.jur)
3. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=658,893.46..63,434,508,421.52 rows=1,360,002 width=4,441) (actual rows= loops=)

  • Hash Cond: (ho.suggested_jurisdiction_grp = lp_herman.jur)
4. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=658,885.79..63,434,489,151.76 rows=1,360,002 width=4,437) (actual rows= loops=)

  • Join Filter: (w.id = ho.claim_id)
5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=658,885.79..16,784,485.14 rows=1,360,002 width=4,407) (actual rows= loops=)

  • Join Filter: (w.id = c.id)
6. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=658,885.36..15,823,315.86 rows=1,360,002 width=4,144) (actual rows= loops=)

  • Hash Cond: ((date_trunc('month'::text, COALESCE(w.ca_completed_at, w.created_at)) = llw.wr_mon) AND ((w.arl_name)::text = (llw.arl_name)::text))
7. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=658,502.36..15,439,727.77 rows=1,360,002 width=4,132) (actual rows= loops=)

  • Hash Cond: (w.id = omc.claim_id)
8. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=650,038.76..14,039,653.08 rows=1,360,002 width=4,128) (actual rows= loops=)

  • Hash Cond: ((ifl.airline_country_code)::text = jc_arl.country_code)
9. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=650,036.54..14,028,219.82 rows=1,360,002 width=4,128) (actual rows= loops=)

  • Hash Cond: (w.id = wrd.id)
10. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=648,702.50..14,012,790.07 rows=1,360,002 width=4,124) (actual rows= loops=)

  • Hash Cond: (((w.arl_name)::text = (cla.arl_name)::text) AND (date_trunc('month'::text, w.created_at) = cla.mon))
11. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=648,100.80..13,587,918.80 rows=1,360,002 width=4,106) (actual rows= loops=)

  • Hash Cond: (((w.arl_name)::text = flpax.airline_name) AND ((date_trunc('month'::text, w.created_at))::date = (flpax.mon)::date))
12. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=646,611.75..11,747,618.83 rows=1,360,002 width=4,072) (actual rows= loops=)

  • Hash Cond: (w.id = tdv.claim_id)
13. 0.000 0.000 ↓ 0.0

Hash Join (cost=630,351.65..10,356,558.08 rows=1,360,002 width=4,048) (actual rows= loops=)

  • Hash Cond: (w.id = it.claim_id)
14. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=367,888.84..8,712,052.79 rows=1,358,461 width=4,037) (actual rows= loops=)

  • Hash Cond: (w.id = oq.claim_id)
15. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=293,545.51..7,258,035.39 rows=1,358,461 width=4,035) (actual rows= loops=)

  • Hash Cond: (((w.arl_name)::text = (csa.arl_name)::text) AND (date_trunc('month'::text, w.created_at) = csa.mon))
16. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=292,943.81..6,833,644.86 rows=1,358,461 width=4,017) (actual rows= loops=)

  • Hash Cond: (((w.arl_name)::text = (cca.arl_name)::text) AND (date_trunc('month'::text, w.created_at) = cca.mon))
17. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=292,342.11..6,409,254.33 rows=1,358,461 width=3,999) (actual rows= loops=)

  • Hash Cond: ((w.last_jurisdiction)::text = (lba.last_jurisdiction)::text)
18. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=292,318.77..6,357,803.88 rows=1,358,461 width=3,967) (actual rows= loops=)

  • Hash Cond: (w.id = ec.id)
19. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=232,914.01..4,951,580.97 rows=1,358,461 width=3,915) (actual rows= loops=)

  • Hash Cond: (w.id = cad.claim_id)
20. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=180,704.28..3,563,303.03 rows=1,358,461 width=3,895) (actual rows= loops=)

  • Hash Cond: (w.id = cas.claim_id)
21. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=67,177.89..2,118,197.56 rows=1,358,461 width=3,887) (actual rows= loops=)

  • Hash Cond: (w.id = ho.claim_id)
22. 0.000 0.000 ↓ 0.0

Seq Scan on win_rate_ml2_final w (cost=0.00..721,558.61 rows=1,358,461 width=3,881) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Hash (cost=32,527.95..32,527.95 rows=2,111,995 width=6) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Seq Scan on v_win_rate_ml_herman_outcomes_new ho (cost=0.00..32,527.95 rows=2,111,995 width=6) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

Hash (cost=76,617.62..76,617.62 rows=2,123,262 width=12) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Seq Scan on claims_airspace_stats cas (cost=0.00..76,617.62 rows=2,123,262 width=12) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Hash (cost=24,609.21..24,609.21 rows=1,503,321 width=24) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Seq Scan on win_rate_ml2_ca_descriptions cad (cost=0.00..24,609.21 rows=1,503,321 width=24) (actual rows= loops=)

29. 0.000 0.000 ↓ 0.0

Hash (cost=29,088.45..29,088.45 rows=1,361,545 width=56) (actual rows= loops=)

30. 0.000 0.000 ↓ 0.0

Seq Scan on win_rate_ec_incidents_by_claim2 ec (cost=0.00..29,088.45 rows=1,361,545 width=56) (actual rows= loops=)

31. 0.000 0.000 ↓ 0.0

Hash (cost=20.00..20.00 rows=267 width=64) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Seq Scan on win_rate_proc_lar_after_lba_only lba (cost=0.00..20.00 rows=267 width=64) (actual rows= loops=)

  • Filter: (count > 20)
33. 0.000 0.000 ↓ 0.0

Hash (cost=342.68..342.68 rows=17,268 width=42) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Seq Scan on win_rate_ml_claims_submitted_per_arl cca (cost=0.00..342.68 rows=17,268 width=42) (actual rows= loops=)

35. 0.000 0.000 ↓ 0.0

Hash (cost=342.68..342.68 rows=17,268 width=42) (actual rows= loops=)

36. 0.000 0.000 ↓ 0.0

Seq Scan on win_rate_ml_claims_submitted_per_arl csa (cost=0.00..342.68 rows=17,268 width=42) (actual rows= loops=)

37. 0.000 0.000 ↓ 0.0

Hash (cost=40,529.37..40,529.37 rows=2,061,037 width=6) (actual rows= loops=)

38. 0.000 0.000 ↓ 0.0

Seq Scan on v_c_optional_questions oq (cost=0.00..40,529.37 rows=2,061,037 width=6) (actual rows= loops=)

39. 0.000 0.000 ↓ 0.0

Hash (cost=225,426.43..225,426.43 rows=2,130,590 width=11) (actual rows= loops=)

40. 0.000 0.000 ↓ 0.0

Hash Join (cost=65,614.96..225,426.43 rows=2,130,590 width=11) (actual rows= loops=)

  • Hash Cond: (ifl.itinerary_id = it.id)
41. 0.000 0.000 ↓ 0.0

Seq Scan on v_c_itinerary_flights ifl (cost=0.00..93,404.15 rows=2,130,590 width=11) (actual rows= loops=)

  • Filter: disrupted
42. 0.000 0.000 ↓ 0.0

Hash (cost=30,698.76..30,698.76 rows=2,128,176 width=8) (actual rows= loops=)

43. 0.000 0.000 ↓ 0.0

Seq Scan on v_c_itineraries it (cost=0.00..30,698.76 rows=2,128,176 width=8) (actual rows= loops=)

44. 0.000 0.000 ↓ 0.0

Hash (cost=7,690.60..7,690.60 rows=443,160 width=28) (actual rows= loops=)

45. 0.000 0.000 ↓ 0.0

Seq Scan on win_rate_ml_travel_docs_viable tdv (cost=0.00..7,690.60 rows=443,160 width=28) (actual rows= loops=)

46. 0.000 0.000 ↓ 0.0

Hash (cost=694.42..694.42 rows=30,842 width=61) (actual rows= loops=)

47. 0.000 0.000 ↓ 0.0

Seq Scan on win_rate_arl_eligible_fl_pax flpax (cost=0.00..694.42 rows=30,842 width=61) (actual rows= loops=)

48. 0.000 0.000 ↓ 0.0

Hash (cost=342.68..342.68 rows=17,268 width=42) (actual rows= loops=)

49. 0.000 0.000 ↓ 0.0

Seq Scan on win_rate_ml_claims_submitted_per_arl cla (cost=0.00..342.68 rows=17,268 width=42) (actual rows= loops=)

50. 0.000 0.000 ↓ 0.0

Hash (cost=715.13..715.13 rows=49,513 width=4) (actual rows= loops=)

51. 0.000 0.000 ↓ 0.0

Seq Scan on win_rate_duplicates wrd (cost=0.00..715.13 rows=49,513 width=4) (actual rows= loops=)

52. 0.000 0.000 ↓ 0.0

Hash (cost=1.54..1.54 rows=54 width=3) (actual rows= loops=)

53. 0.000 0.000 ↓ 0.0

Seq Scan on jurisdiction_colours jc_arl (cost=0.00..1.54 rows=54 width=3) (actual rows= loops=)

54. 0.000 0.000 ↓ 0.0

Hash (cost=3,903.38..3,903.38 rows=277,938 width=4) (actual rows= loops=)

55. 0.000 0.000 ↓ 0.0

Seq Scan on win_rate_ml_ota_mc omc (cost=0.00..3,903.38 rows=277,938 width=4) (actual rows= loops=)

56. 0.000 0.000 ↓ 0.0

Hash (cost=211.40..211.40 rows=11,440 width=36) (actual rows= loops=)

57. 0.000 0.000 ↓ 0.0

Seq Scan on win_rate_ml_lac_lar_wr_per_arl llw (cost=0.00..211.40 rows=11,440 width=36) (actual rows= loops=)

58. 0.000 0.000 ↓ 0.0

Index Scan using v_c_claims_id on v_c_claims c (cost=0.43..0.69 rows=1 width=271) (actual rows= loops=)

  • Index Cond: (id = it.claim_id)
59. 0.000 0.000 ↓ 0.0

Materialize (cost=0.00..57,285.57 rows=2,044,038 width=34) (actual rows= loops=)

60. 0.000 0.000 ↓ 0.0

Seq Scan on win_rate_ml_final_delay fd (cost=0.00..31,095.38 rows=2,044,038 width=34) (actual rows= loops=)

61. 0.000 0.000 ↓ 0.0

Hash (cost=4.52..4.52 rows=252 width=7) (actual rows= loops=)

62. 0.000 0.000 ↓ 0.0

Seq Scan on win_rate_ml_limit_period lp_herman (cost=0.00..4.52 rows=252 width=7) (actual rows= loops=)

63. 0.000 0.000 ↓ 0.0

Hash (cost=4.52..4.52 rows=252 width=7) (actual rows= loops=)

64. 0.000 0.000 ↓ 0.0

Seq Scan on win_rate_ml_limit_period lp_arl (cost=0.00..4.52 rows=252 width=7) (actual rows= loops=)

65. 0.000 0.000 ↓ 0.0

Materialize (cost=0.00..20.02 rows=4 width=32) (actual rows= loops=)

66. 0.000 0.000 ↓ 0.0

Seq Scan on win_rate_proc_lar_after_lba_only lba_tot (cost=0.00..20.00 rows=4 width=32) (actual rows= loops=)

  • Filter: ((last_jurisdiction)::text = 'total'::text)