explain.depesz.com

PostgreSQL's explain analyze made readable

Result: FqB

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

HashAggregate (cost=7,717,079.32..7,717,079.34 rows=1 width=282) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Nested Loop (cost=6,360,601.11..7,717,079.30 rows=1 width=282) (actual rows= loops=)

  • Join Filter: (public.campaign_application.application_id = public.distro_app.distro_app_id)
3. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=6,360,587.01..7,717,031.48 rows=1 width=72) (actual rows= loops=)

  • Join Filter: ((public.timezone_hour_calendar_day.calendar_day_id = public.calendar_day.calendar_day_id) AND (public.campaign_application.application_id = public.distro_app.distro_app_id))
4. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=6,355,537.69..7,710,636.27 rows=1 width=74) (actual rows= loops=)

  • Join Filter: ((public.timezone_hour_calendar_day.timezone_id = public.timezone_hour_calendar_day.timezone_id) AND (public.timezone_hour_calendar_day.calendar_day_id = public.timezone_hour_calendar_day.calendar_day_id) AND (public.campaign_application_rejection_reason_set.campaign_application_id = public.campaign_application_rejection_reason_set.campaign_application_id))
5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=338,002.63..435,048.22 rows=1 width=52) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=338,002.63..435,047.93 rows=1 width=60) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Nested Loop (cost=338,002.63..435,047.65 rows=1 width=68) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Nested Loop (cost=338,002.63..435,047.37 rows=1 width=48) (actual rows= loops=)

  • Join Filter: (public.timezone_hour_calendar_day.calendar_day_id = public.calendar_day.calendar_day_id)
9. 0.000 0.000 ↓ 0.0

Index Scan using calendar_day_pk on calendar_day (cost=0.00..106.70 rows=1 width=6) (actual rows= loops=)

  • Filter: (calendar_date = '2010-07-01'::date)
10. 0.000 0.000 ↓ 0.0

Merge Join (cost=338,002.63..434,906.57 rows=2,728 width=44) (actual rows= loops=)

  • Merge Cond: (public.timezone_hour_calendar_day.timezone_id = public.timezone.timezone_id)
11. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=337,999.35..410,641.50 rows=1,937,124 width=44) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Sort (cost=337,999.35..342,842.16 rows=1,937,124 width=44) (actual rows= loops=)

  • Sort Key: public.timezone_hour_calendar_day.timezone_id, public.timezone_hour_calendar_day.calendar_day_id, public.campaign_application_rejection_reason_set.campaign_application_id, public.campaign_application.campaign_id, public.campaign_application.application_id, public.campaign_application_rejection_reason_set.rejection_reason_set_id
13. 0.000 0.000 ↓ 0.0

Hash Join (cost=25,888.07..97,401.98 rows=1,937,124 width=44) (actual rows= loops=)

  • Hash Cond: (public.campaign_application_rejection_reason_set_counts.hour_id = public.timezone_hour_calendar_day.hour_id)
14. 0.000 0.000 ↓ 0.0

Hash Join (cost=5,471.90..19,395.14 rows=394,339 width=44) (actual rows= loops=)

  • Hash Cond: (public.campaign_application_rejection_reason_set_counts.campaign_application_rejection_reason_set_id = public.campaign_application_rejection_reason_set.campaign_application_rejection_reason_set_id)
15. 0.000 0.000 ↓ 0.0

Seq Scan on campaign_application_rejection_reason_set_counts (cost=0.00..6,529.39 rows=394,339 width=20) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Hash (cost=4,416.05..4,416.05 rows=84,468 width=40) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Hash Join (cost=1,091.25..4,416.05 rows=84,468 width=40) (actual rows= loops=)

  • Hash Cond: (public.campaign_application_rejection_reason_set.campaign_application_id = public.campaign_application.campaign_application_id)
18. 0.000 0.000 ↓ 0.0

Seq Scan on campaign_application_rejection_reason_set (cost=0.00..1,318.68 rows=84,468 width=24) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Hash (cost=618.89..618.89 rows=37,789 width=24) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Seq Scan on campaign_application (cost=0.00..618.89 rows=37,789 width=24) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Hash (cost=13,226.18..13,226.18 rows=438,240 width=8) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Hash Join (cost=25.98..13,226.18 rows=438,240 width=8) (actual rows= loops=)

  • Hash Cond: (public.timezone_hour_calendar_day.timezone_id = public.timezone.timezone_id)
23. 0.000 0.000 ↓ 0.0

Seq Scan on timezone_hour_calendar_day (cost=0.00..7,174.40 rows=438,240 width=8) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Hash (cost=17.10..17.10 rows=710 width=2) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

Seq Scan on timezone (cost=0.00..17.10 rows=710 width=2) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Sort (cost=3.28..3.28 rows=1 width=2) (actual rows= loops=)

  • Sort Key: public.timezone.timezone_id
27. 0.000 0.000 ↓ 0.0

Index Scan using timezone_ux_timezone_name on timezone (cost=0.00..3.27 rows=1 width=2) (actual rows= loops=)

  • Index Cond: ((timezone_name)::text = 'UTC'::text)
28. 0.000 0.000 ↓ 0.0

Index Scan using pk_campaign on campaign (cost=0.00..0.27 rows=1 width=36) (actual rows= loops=)

  • Index Cond: (public.campaign.campaign_id = public.campaign_application.campaign_id)
29. 0.000 0.000 ↓ 0.0

Index Scan using pk_campaign_category on campaign_category (cost=0.00..0.27 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (public.campaign.campaign_category_id = public.campaign_category.campaign_category_id)
30. 0.000 0.000 ↓ 0.0

Index Scan using udx_campaign_account_activation on campaign_account (cost=0.00..0.28 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (public.campaign_account.campaign_account_id = public.campaign.campaign_account_id)
31. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=6,017,535.06..7,219,333.64 rows=2,045,615 width=44) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=6,017,535.06..6,784,640.53 rows=20,456,146 width=166) (actual rows= loops=)

33. 0.000 0.000 ↓ 0.0

Sort (cost=6,017,535.06..6,068,675.42 rows=20,456,146 width=166) (actual rows= loops=)

  • Sort Key: public.timezone_hour_calendar_day.timezone_id, public.timezone_hour_calendar_day.calendar_day_id, public.campaign_application_rejection_reason_set.campaign_application_id, rejection_reason.rejection_reason_name
34. 0.000 0.000 ↓ 0.0

Merge Join (cost=1,069,205.26..1,376,057.57 rows=20,456,146 width=166) (actual rows= loops=)

  • Merge Cond: (rejection_reason_set_rejection_reason.rejection_reason_set_id = public.campaign_application_rejection_reason_set.rejection_reason_set_id)
35. 0.000 0.000 ↓ 0.0

Sort (cost=190.72..195.82 rows=2,040 width=154) (actual rows= loops=)

  • Sort Key: rejection_reason_set_rejection_reason.rejection_reason_set_id
36. 0.000 0.000 ↓ 0.0

Hash Join (cost=20.12..78.58 rows=2,040 width=154) (actual rows= loops=)

  • Hash Cond: (rejection_reason_set_rejection_reason.rejection_reason_id = rejection_reason.rejection_reason_id)
37. 0.000 0.000 ↓ 0.0

Seq Scan on rejection_reason_set_rejection_reason (cost=0.00..30.40 rows=2,040 width=10) (actual rows= loops=)

38. 0.000 0.000 ↓ 0.0

Hash (cost=14.50..14.50 rows=450 width=148) (actual rows= loops=)

39. 0.000 0.000 ↓ 0.0

Seq Scan on rejection_reason (cost=0.00..14.50 rows=450 width=148) (actual rows= loops=)

40. 0.000 0.000 ↓ 0.0

Materialize (cost=1,069,014.54..1,094,083.34 rows=2,005,504 width=28) (actual rows= loops=)

41. 0.000 0.000 ↓ 0.0

Sort (cost=1,069,014.54..1,074,028.30 rows=2,005,504 width=28) (actual rows= loops=)

  • Sort Key: public.campaign_application_rejection_reason_set.rejection_reason_set_id
42. 0.000 0.000 ↓ 0.0

Hash Join (cost=765,252.97..828,235.56 rows=2,005,504 width=28) (actual rows= loops=)

  • Hash Cond: (public.campaign_application.application_id = public.distro_app.distro_app_id)
43. 0.000 0.000 ↓ 0.0

Merge Right Join (cost=765,205.15..800,612.06 rows=2,005,504 width=36) (actual rows= loops=)

  • Merge Cond: ((reports_application_contract.calendar_day_id = public.timezone_hour_calendar_day.calendar_day_id) AND (reports_application_contract.numeric_application_id = public.campaign_application.application_id))
44. 0.000 0.000 ↓ 0.0

Sort (cost=8,949.87..9,053.40 rows=41,412 width=10) (actual rows= loops=)

  • Sort Key: reports_application_contract.calendar_day_id, reports_application_contract.numeric_application_id
45. 0.000 0.000 ↓ 0.0

Subquery Scan reports_application_contract (cost=5,049.32..5,774.03 rows=41,412 width=10) (actual rows= loops=)

46. 0.000 0.000 ↓ 0.0

Unique (cost=5,049.32..5,359.91 rows=41,412 width=86) (actual rows= loops=)

47. 0.000 0.000 ↓ 0.0

Sort (cost=5,049.32..5,152.85 rows=41,412 width=86) (actual rows= loops=)

  • Sort Key: public.calendar_day.calendar_date, public.distro_app.distro_app_id, public.distro_contract.start_date
48. 0.000 0.000 ↓ 0.0

Merge Join (cost=1,065.51..1,873.48 rows=41,412 width=86) (actual rows= loops=)

  • Merge Cond: (public.distro_contract.distro_contract_id = (COALESCE(public.distro_app_contract.distro_contract_id, public.distro_partner_contract.distro_contract_id)))
49. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..176.70 rows=3,654 width=86) (actual rows= loops=)

50. 0.000 0.000 ↓ 0.0

Index Scan using distro_contract_pk on distro_contract (cost=0.00..30.33 rows=3 width=80) (actual rows= loops=)

  • Filter: (click_threshold = 0)
51. 0.000 0.000 ↓ 0.0

Index Scan using calendar_day_ux_calendar_date on calendar_day (cost=0.00..33.57 rows=1,218 width=6) (actual rows= loops=)

  • Index Cond: (public.distro_contract.start_date <= public.calendar_day.calendar_date)
52. 0.000 0.000 ↓ 0.0

Sort (cost=1,065.51..1,085.09 rows=7,832 width=24) (actual rows= loops=)

  • Sort Key: (COALESCE(public.distro_app_contract.distro_contract_id, public.distro_partner_contract.distro_contract_id))
53. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=315.16..558.97 rows=7,832 width=24) (actual rows= loops=)

  • Merge Cond: (public.distro_app.distro_partner_id = public.distro_partner_contract.distro_partner_id)
  • Join Filter: (public.distro_app_contract.* IS NULL)
54. 0.000 0.000 ↓ 0.0

Sort (cost=191.97..196.40 rows=1,770 width=56) (actual rows= loops=)

  • Sort Key: public.distro_app.distro_partner_id
55. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=0.00..96.49 rows=1,770 width=56) (actual rows= loops=)

  • Merge Cond: (public.distro_app.distro_app_id = public.distro_app_contract.distro_app_id)
56. 0.000 0.000 ↓ 0.0

Index Scan using pk_distro_app on distro_app (cost=0.00..29.88 rows=475 width=16) (actual rows= loops=)

57. 0.000 0.000 ↓ 0.0

Index Scan using distro_app_contract_pk on distro_app_contract (cost=0.00..43.30 rows=1,770 width=48) (actual rows= loops=)

58. 0.000 0.000 ↓ 0.0

Sort (cost=123.19..127.61 rows=1,770 width=16) (actual rows= loops=)

  • Sort Key: public.distro_partner_contract.distro_partner_id
59. 0.000 0.000 ↓ 0.0

Seq Scan on distro_partner_contract (cost=0.00..27.70 rows=1,770 width=16) (actual rows= loops=)

60. 0.000 0.000 ↓ 0.0

Materialize (cost=756,255.28..780,469.33 rows=1,937,124 width=36) (actual rows= loops=)

61. 0.000 0.000 ↓ 0.0

Sort (cost=756,255.28..761,098.09 rows=1,937,124 width=36) (actual rows= loops=)

  • Sort Key: public.timezone_hour_calendar_day.calendar_day_id, public.campaign_application.application_id
62. 0.000 0.000 ↓ 0.0

Hash Join (cost=338,309.54..519,914.91 rows=1,937,124 width=36) (actual rows= loops=)

  • Hash Cond: (public.timezone_hour_calendar_day.timezone_id = public.timezone.timezone_id)
63. 0.000 0.000 ↓ 0.0

Hash Join (cost=338,283.56..493,253.48 rows=1,937,124 width=36) (actual rows= loops=)

  • Hash Cond: (public.timezone_hour_calendar_day.calendar_day_id = public.calendar_day.calendar_day_id)
64. 0.000 0.000 ↓ 0.0

Hash Join (cost=338,177.35..459,247.60 rows=1,937,124 width=36) (actual rows= loops=)

  • Hash Cond: (public.campaign_application.campaign_id = public.campaign.campaign_id)
65. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=337,999.35..410,641.50 rows=1,937,124 width=44) (actual rows= loops=)

66. 0.000 0.000 ↓ 0.0

Sort (cost=337,999.35..342,842.16 rows=1,937,124 width=44) (actual rows= loops=)

  • Sort Key: public.timezone_hour_calendar_day.timezone_id, public.timezone_hour_calendar_day.calendar_day_id, public.campaign_application_rejection_reason_set.campaign_application_id, public.campaign_application.campaign_id, public.campaign_application.application_id, public.campaign_application_rejection_reason_set.rejection_reason_set_id
67. 0.000 0.000 ↓ 0.0

Hash Join (cost=25,888.07..97,401.98 rows=1,937,124 width=44) (actual rows= loops=)

  • Hash Cond: (public.campaign_application_rejection_reason_set_counts.hour_id = public.timezone_hour_calendar_day.hour_id)
68. 0.000 0.000 ↓ 0.0

Hash Join (cost=5,471.90..19,395.14 rows=394,339 width=44) (actual rows= loops=)

  • Hash Cond: (public.campaign_application_rejection_reason_set_counts.campaign_application_rejection_reason_set_id = public.campaign_application_rejection_reason_set.campaign_application_rejection_reason_set_id)
69. 0.000 0.000 ↓ 0.0

Seq Scan on campaign_application_rejection_reason_set_counts (cost=0.00..6,529.39 rows=394,339 width=20) (actual rows= loops=)

70. 0.000 0.000 ↓ 0.0

Hash (cost=4,416.05..4,416.05 rows=84,468 width=40) (actual rows= loops=)

71. 0.000 0.000 ↓ 0.0

Hash Join (cost=1,091.25..4,416.05 rows=84,468 width=40) (actual rows= loops=)

  • Hash Cond: (public.campaign_application_rejection_reason_set.campaign_application_id = public.campaign_application.campaign_application_id)
72. 0.000 0.000 ↓ 0.0

Seq Scan on campaign_application_rejection_reason_set (cost=0.00..1,318.68 rows=84,468 width=24) (actual rows= loops=)

73. 0.000 0.000 ↓ 0.0

Hash (cost=618.89..618.89 rows=37,789 width=24) (actual rows= loops=)

74. 0.000 0.000 ↓ 0.0

Seq Scan on campaign_application (cost=0.00..618.89 rows=37,789 width=24) (actual rows= loops=)

75. 0.000 0.000 ↓ 0.0

Hash (cost=13,226.18..13,226.18 rows=438,240 width=8) (actual rows= loops=)

76. 0.000 0.000 ↓ 0.0

Hash Join (cost=25.98..13,226.18 rows=438,240 width=8) (actual rows= loops=)

  • Hash Cond: (public.timezone_hour_calendar_day.timezone_id = public.timezone.timezone_id)
77. 0.000 0.000 ↓ 0.0

Seq Scan on timezone_hour_calendar_day (cost=0.00..7,174.40 rows=438,240 width=8) (actual rows= loops=)

78. 0.000 0.000 ↓ 0.0

Hash (cost=17.10..17.10 rows=710 width=2) (actual rows= loops=)

79. 0.000 0.000 ↓ 0.0

Seq Scan on timezone (cost=0.00..17.10 rows=710 width=2) (actual rows= loops=)

80. 0.000 0.000 ↓ 0.0

Hash (cost=155.53..155.53 rows=1,797 width=8) (actual rows= loops=)

81. 0.000 0.000 ↓ 0.0

Hash Join (cost=16.14..155.53 rows=1,797 width=8) (actual rows= loops=)

  • Hash Cond: (public.campaign.campaign_account_id = public.campaign_account.campaign_account_id)
82. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=1.52..116.20 rows=1,797 width=16) (actual rows= loops=)

  • Hash Cond: (public.campaign.campaign_category_id = public.campaign_category.campaign_category_id)
83. 0.000 0.000 ↓ 0.0

Seq Scan on campaign (cost=0.00..89.97 rows=1,797 width=24) (actual rows= loops=)

84. 0.000 0.000 ↓ 0.0

Hash (cost=1.23..1.23 rows=23 width=8) (actual rows= loops=)

85. 0.000 0.000 ↓ 0.0

Seq Scan on campaign_category (cost=0.00..1.23 rows=23 width=8) (actual rows= loops=)

86. 0.000 0.000 ↓ 0.0

Hash (cost=11.50..11.50 rows=250 width=8) (actual rows= loops=)

87. 0.000 0.000 ↓ 0.0

Seq Scan on campaign_account (cost=0.00..11.50 rows=250 width=8) (actual rows= loops=)

88. 0.000 0.000 ↓ 0.0

Hash (cost=60.54..60.54 rows=3,654 width=2) (actual rows= loops=)

89. 0.000 0.000 ↓ 0.0

Seq Scan on calendar_day (cost=0.00..60.54 rows=3,654 width=2) (actual rows= loops=)

90. 0.000 0.000 ↓ 0.0

Hash (cost=17.10..17.10 rows=710 width=2) (actual rows= loops=)

91. 0.000 0.000 ↓ 0.0

Seq Scan on timezone (cost=0.00..17.10 rows=710 width=2) (actual rows= loops=)

92. 0.000 0.000 ↓ 0.0

Hash (cost=41.88..41.88 rows=475 width=8) (actual rows= loops=)

93. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=14.10..41.88 rows=475 width=8) (actual rows= loops=)

  • Hash Cond: (public.distro_app.distro_app_priority_id = public.distro_app_priority.distro_app_priority_id)
94. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=13.08..39.06 rows=475 width=16) (actual rows= loops=)

  • Hash Cond: (public.distro_app.distro_app_classification_id = public.distro_app_classification.distro_app_classification_id)
95. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=12.01..36.14 rows=475 width=24) (actual rows= loops=)

  • Hash Cond: (public.distro_app.distro_app_state_id = public.distro_app_state.distro_app_state_id)
96. 0.000 0.000 ↓ 0.0

Hash Join (cost=10.94..33.22 rows=475 width=32) (actual rows= loops=)

  • Hash Cond: (public.distro_app.distro_partner_id = public.distro_partner.distro_partner_id)
97. 0.000 0.000 ↓ 0.0

Seq Scan on distro_app (cost=0.00..15.75 rows=475 width=40) (actual rows= loops=)

98. 0.000 0.000 ↓ 0.0

Hash (cost=6.53..6.53 rows=353 width=8) (actual rows= loops=)

99. 0.000 0.000 ↓ 0.0

Seq Scan on distro_partner (cost=0.00..6.53 rows=353 width=8) (actual rows= loops=)

100. 0.000 0.000 ↓ 0.0

Hash (cost=1.03..1.03 rows=3 width=8) (actual rows= loops=)

101. 0.000 0.000 ↓ 0.0

Seq Scan on distro_app_state (cost=0.00..1.03 rows=3 width=8) (actual rows= loops=)

102. 0.000 0.000 ↓ 0.0

Hash (cost=1.03..1.03 rows=3 width=8) (actual rows= loops=)

103. 0.000 0.000 ↓ 0.0

Seq Scan on distro_app_classification (cost=0.00..1.03 rows=3 width=8) (actual rows= loops=)

104. 0.000 0.000 ↓ 0.0

Hash (cost=1.01..1.01 rows=1 width=8) (actual rows= loops=)

105. 0.000 0.000 ↓ 0.0

Seq Scan on distro_app_priority (cost=0.00..1.01 rows=1 width=8) (actual rows= loops=)

106. 0.000 0.000 ↓ 0.0

Unique (cost=5,049.32..5,359.91 rows=41,412 width=86) (actual rows= loops=)

107. 0.000 0.000 ↓ 0.0

Sort (cost=5,049.32..5,152.85 rows=41,412 width=86) (actual rows= loops=)

  • Sort Key: public.calendar_day.calendar_date, public.distro_app.distro_app_id, public.distro_contract.start_date
108. 0.000 0.000 ↓ 0.0

Merge Join (cost=1,065.51..1,873.48 rows=41,412 width=86) (actual rows= loops=)

  • Merge Cond: (public.distro_contract.distro_contract_id = (COALESCE(public.distro_app_contract.distro_contract_id, public.distro_partner_contract.distro_contract_id)))
109. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..176.70 rows=3,654 width=86) (actual rows= loops=)

110. 0.000 0.000 ↓ 0.0

Index Scan using distro_contract_pk on distro_contract (cost=0.00..30.33 rows=3 width=80) (actual rows= loops=)

  • Filter: (click_threshold = 0)
111. 0.000 0.000 ↓ 0.0

Index Scan using calendar_day_ux_calendar_date on calendar_day (cost=0.00..33.57 rows=1,218 width=6) (actual rows= loops=)

  • Index Cond: (public.distro_contract.start_date <= public.calendar_day.calendar_date)
112. 0.000 0.000 ↓ 0.0

Sort (cost=1,065.51..1,085.09 rows=7,832 width=24) (actual rows= loops=)

  • Sort Key: (COALESCE(public.distro_app_contract.distro_contract_id, public.distro_partner_contract.distro_contract_id))
113. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=315.16..558.97 rows=7,832 width=24) (actual rows= loops=)

  • Merge Cond: (public.distro_app.distro_partner_id = public.distro_partner_contract.distro_partner_id)
  • Join Filter: (public.distro_app_contract.* IS NULL)
114. 0.000 0.000 ↓ 0.0

Sort (cost=191.97..196.40 rows=1,770 width=56) (actual rows= loops=)

  • Sort Key: public.distro_app.distro_partner_id
115. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=0.00..96.49 rows=1,770 width=56) (actual rows= loops=)

  • Merge Cond: (public.distro_app.distro_app_id = public.distro_app_contract.distro_app_id)
116. 0.000 0.000 ↓ 0.0

Index Scan using pk_distro_app on distro_app (cost=0.00..29.88 rows=475 width=16) (actual rows= loops=)

117. 0.000 0.000 ↓ 0.0

Index Scan using distro_app_contract_pk on distro_app_contract (cost=0.00..43.30 rows=1,770 width=48) (actual rows= loops=)

118. 0.000 0.000 ↓ 0.0

Sort (cost=123.19..127.61 rows=1,770 width=16) (actual rows= loops=)

  • Sort Key: public.distro_partner_contract.distro_partner_id
119. 0.000 0.000 ↓ 0.0

Seq Scan on distro_partner_contract (cost=0.00..27.70 rows=1,770 width=16) (actual rows= loops=)

120. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=14.10..41.88 rows=475 width=226) (actual rows= loops=)

  • Hash Cond: (public.distro_app.distro_app_priority_id = public.distro_app_priority.distro_app_priority_id)
121. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=13.08..39.06 rows=475 width=234) (actual rows= loops=)

  • Hash Cond: (public.distro_app.distro_app_classification_id = public.distro_app_classification.distro_app_classification_id)
122. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=12.01..36.14 rows=475 width=242) (actual rows= loops=)

  • Hash Cond: (public.distro_app.distro_app_state_id = public.distro_app_state.distro_app_state_id)
123. 0.000 0.000 ↓ 0.0

Hash Join (cost=10.94..33.22 rows=475 width=250) (actual rows= loops=)

  • Hash Cond: (public.distro_app.distro_partner_id = public.distro_partner.distro_partner_id)
124. 0.000 0.000 ↓ 0.0

Seq Scan on distro_app (cost=0.00..15.75 rows=475 width=258) (actual rows= loops=)

125. 0.000 0.000 ↓ 0.0

Hash (cost=6.53..6.53 rows=353 width=8) (actual rows= loops=)

126. 0.000 0.000 ↓ 0.0

Seq Scan on distro_partner (cost=0.00..6.53 rows=353 width=8) (actual rows= loops=)

127. 0.000 0.000 ↓ 0.0

Hash (cost=1.03..1.03 rows=3 width=8) (actual rows= loops=)

128. 0.000 0.000 ↓ 0.0

Seq Scan on distro_app_state (cost=0.00..1.03 rows=3 width=8) (actual rows= loops=)

129. 0.000 0.000 ↓ 0.0

Hash (cost=1.03..1.03 rows=3 width=8) (actual rows= loops=)

130. 0.000 0.000 ↓ 0.0

Seq Scan on distro_app_classification (cost=0.00..1.03 rows=3 width=8) (actual rows= loops=)

131. 0.000 0.000 ↓ 0.0

Hash (cost=1.01..1.01 rows=1 width=8) (actual rows= loops=)

132. 0.000 0.000 ↓ 0.0

Seq Scan on distro_app_priority (cost=0.00..1.01 rows=1 width=8) (actual rows= loops=)