explain.depesz.com

PostgreSQL's explain analyze made readable

Result: HDdT

Settings
# exclusive inclusive rows x rows loops node
1. 0.003 90.564 ↑ 8.0 1 1

Append (cost=16,384.00..17,571.16 rows=8 width=64) (actual time=90.518..90.564 rows=1 loops=1)

2. 0.004 90.518 ↑ 7.0 1 1

Result (cost=16,384.00..17,555.07 rows=7 width=64) (actual time=90.517..90.518 rows=1 loops=1)

3. 0.001 90.514 ↑ 7.0 1 1

Append (cost=16,384.00..17,554.99 rows=7 width=40) (actual time=90.513..90.514 rows=1 loops=1)

4. 0.000 90.107 ↓ 0.0 0 1

Finalize GroupAggregate (cost=16,384.00..16,385.28 rows=6 width=17) (actual time=90.107..90.107 rows=0 loops=1)

  • Group Key: o."OutcomeType
5. 67.211 95.037 ↓ 0.0 0 1

Gather Merge (cost=16,384.00..16,385.19 rows=6 width=17) (actual time=90.104..95.037 rows=0 loops=1)

  • Workers Planned: 1
  • Workers Launched: 1
6. 0.006 27.826 ↓ 0.0 0 2

Partial GroupAggregate (cost=15,383.99..15,384.50 rows=6 width=17) (actual time=13.913..13.913 rows=0 loops=2)

  • Group Key: o."OutcomeType
7. 0.076 27.820 ↓ 0.0 0 2

Sort (cost=15,383.99..15,384.14 rows=60 width=13) (actual time=13.910..13.910 rows=0 loops=2)

  • Sort Key: o."OutcomeType
  • Sort Method: quicksort Memory: 25kB
8. 0.006 27.744 ↓ 0.0 0 2

Nested Loop (cost=4,373.83..15,382.22 rows=60 width=13) (actual time=13.871..13.872 rows=0 loops=2)

9. 0.085 27.738 ↓ 0.0 0 2

Parallel Bitmap Heap Scan on "Outcomes" o (cost=4,373.41..9,627.55 rows=760 width=17) (actual time=13.869..13.869 rows=0 loops=2)

  • Recheck Cond: (("CreationDate" >= '2019-08-01 00:00:00'::timestamp without time zone) AND ("CreationDate" <= '2019-08-19 23:59:59'::timestamp without time zone) AND ("OnboardingTemplateId" = 33))
  • Filter: (("BankId" >= 1) AND (("ChannelType")::text = 'Email'::text))
10. 0.401 27.653 ↓ 0.0 0 1

BitmapAnd (cost=4,373.41..4,373.41 rows=1,430 width=0) (actual time=27.653..27.653 rows=0 loops=1)

11. 0.426 0.426 ↑ 3.6 1,280 1

Bitmap Index Scan on ix_outcomes_creationdate (cost=0.00..24.19 rows=4,604 width=0) (actual time=0.426..0.426 rows=1,280 loops=1)

  • Index Cond: (("CreationDate" >= '2019-08-01 00:00:00'::timestamp without time zone) AND ("CreationDate" <= '2019-08-19 23:59:59'::timestamp without time zone))
12. 26.826 26.826 ↑ 1.0 234,676 1

Bitmap Index Scan on ix_outcomes_onboardingtemplateid (cost=0.00..4,348.32 rows=235,186 width=0) (actual time=26.826..26.826 rows=234,676 loops=1)

  • Index Cond: ("OnboardingTemplateId" = 33)
13. 0.000 0.000 ↓ 0.0 0

Index Scan using "PK_OnboardingActionId" on "OnboardingActions" a (cost=0.42..7.57 rows=1 width=4) (never executed)

  • Index Cond: ("OnboardingActionId" = o."OnboardingActionId")
  • Filter: ("CampaignId" = 24)
14. 0.035 0.406 ↑ 1.0 1 1

Aggregate (cost=1,169.63..1,169.64 rows=1 width=40) (actual time=0.405..0.406 rows=1 loops=1)

15. 0.011 0.371 ↓ 1.4 7 1

Nested Loop (cost=0.85..1,169.62 rows=5 width=4) (actual time=0.267..0.371 rows=7 loops=1)

16. 0.276 0.276 ↑ 2.2 28 1

Index Scan using ix_outcomes_outcometype on "Outcomes" o_1 (cost=0.42..646.03 rows=62 width=4) (actual time=0.052..0.276 rows=28 loops=1)

  • Index Cond: (("OutcomeType")::text = 'open'::text)
  • Filter: (("BankId" >= 1) AND ("CreationDate" >= '2018-08-01 00:00:00'::timestamp without time zone) AND ("CreationDate" <= '2019-08-19 23:59:59'::timestamp without time zone) AND (("ChannelType")::text = 'Email'::text) AND ("OnboardingTemplateId" = 33))
  • Rows Removed by Filter: 135
17. 0.084 0.084 ↓ 0.0 0 28

Index Scan using "PK_OnboardingActionId" on "OnboardingActions" a_1 (cost=0.42..8.45 rows=1 width=4) (actual time=0.003..0.003 rows=0 loops=28)

  • Index Cond: ("OnboardingActionId" = o_1."OnboardingActionId")
  • Filter: ("CampaignId" = 24)
18. 0.000 0.043 ↓ 0.0 0 1

GroupAggregate (cost=16.06..16.08 rows=1 width=114) (actual time=0.043..0.043 rows=0 loops=1)

  • Group Key: a_2."OutcomeType
19. 0.005 0.043 ↓ 0.0 0 1

Sort (cost=16.06..16.06 rows=1 width=90) (actual time=0.043..0.043 rows=0 loops=1)

  • Sort Key: a_2."OutcomeType
  • Sort Method: quicksort Memory: 25kB
20. 0.002 0.038 ↓ 0.0 0 1

Subquery Scan on a_2 (cost=16.02..16.05 rows=1 width=90) (actual time=0.038..0.038 rows=0 loops=1)

21. 0.000 0.036 ↓ 0.0 0 1

GroupAggregate (cost=16.02..16.04 rows=1 width=95) (actual time=0.036..0.036 rows=0 loops=1)

  • Group Key: o_2."OnboardingActionId", o_2."Url
22. 0.006 0.037 ↓ 0.0 0 1

Sort (cost=16.02..16.02 rows=1 width=9) (actual time=0.036..0.037 rows=0 loops=1)

  • Sort Key: o_2."OnboardingActionId", o_2."Url
  • Sort Method: quicksort Memory: 25kB
23. 0.001 0.031 ↓ 0.0 0 1

Nested Loop (cost=0.85..16.01 rows=1 width=9) (actual time=0.031..0.031 rows=0 loops=1)

24. 0.030 0.030 ↓ 0.0 0 1

Index Scan using ix_outcomes_outcometype on "Outcomes" o_2 (cost=0.42..7.56 rows=1 width=9) (actual time=0.030..0.030 rows=0 loops=1)

  • Index Cond: (("OutcomeType")::text = 'click'::text)
  • Filter: (("BankId" >= 1) AND ("CreationDate" >= '2019-08-01 00:00:00'::timestamp without time zone) AND ("CreationDate" <= '2019-08-19 23:59:59'::timestamp without time zone) AND (("ChannelType")::text = 'Email'::text) AND ("OnboardingTemplateId" = 33))
  • Rows Removed by Filter: 9
25. 0.000 0.000 ↓ 0.0 0

Index Scan using "PK_OnboardingActionId" on "OnboardingActions" a_3 (cost=0.42..8.45 rows=1 width=4) (never executed)

  • Index Cond: ("OnboardingActionId" = o_2."OnboardingActionId")
  • Filter: ("CampaignId" = 24)
Planning time : 2.604 ms