explain.depesz.com

PostgreSQL's explain analyze made readable

Result: sxbV : xxx

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

Finalize Aggregate (cost=8,811,528.55..8,811,528.56 rows=1 width=32) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Gather (cost=8,811,528.33..8,811,528.54 rows=2 width=32) (actual rows= loops=)

  • Workers Planned: 2
3. 0.000 0.000 ↓ 0.0

Partial Aggregate (cost=8,810,528.33..8,810,528.34 rows=1 width=32) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Parallel Hash Join (cost=8,250,338.60..8,810,455.59 rows=29,096 width=3) (actual rows= loops=)

  • Hash Cond: ((payment_actions.payment_id)::text = (payments.id)::text)
5. 0.000 0.000 ↓ 0.0

Parallel Index Scan using index_payment_actions_on_created_at_where_to_state_paid on payment_actions (cost=0.57..547,462.80 rows=3,342,275 width=14) (actual rows= loops=)

  • Index Cond: ((created_at >= '2019-07-01 00:00:00'::timestamp without time zone) AND (created_at <= '2019-07-31 23:59:59.999999'::timestamp without time zone))
6. 0.000 0.000 ↓ 0.0

Parallel Hash (cost=8,240,347.77..8,240,347.77 rows=799,221 width=17) (actual rows= loops=)

  • Buckets: 2097152 (originally 2097152) Batches: 8 (originally 1) Memory Usage: 81568kB
7. 0.000 0.000 ↓ 0.0

Parallel Hash Join (cost=10,602.11..8,240,347.77 rows=799,221 width=17) (actual rows= loops=)

  • Hash Cond: ((payments.creditor_merchant_id)::text = (creditors.id)::text)
8. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on payments (cost=0.00..8,208,080.60 rows=8,253,234 width=32) (actual rows= loops=)

  • Filter: (((currency)::text = 'EUR'::text) AND ((creditor_merchant_id)::text <> ALL ('{CR000032N8ZJQQ,CR000035GKQ1SQ,CR00003J6M63P3,CR00003AJ58RM3,CR00002K04RQAG,CR000039MJNPHP,CR00002KCEW907}'::text[])))
9. 0.000 0.000 ↓ 0.0

Parallel Hash (cost=10,454.31..10,454.31 rows=11,824 width=15) (actual rows= loops=)

  • Buckets: 32768 Batches: 1 Memory Usage: 1120kB
10. 0.000 0.000 ↓ 0.0

Parallel Bitmap Heap Scan on creditors (cost=781.95..10,454.31 rows=11,824 width=15) (actual rows= loops=)

  • Recheck Cond: ((gc_segregation_entity)::text = 'gc_sas'::text)
  • Filter: (((geo)::text <> 'FR'::text) OR (geo IS NULL))
11. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on idx_creditors_on_gc_segregation_entity (cost=0.00..774.86 rows=30,458 width=0) (actual rows= loops=)

  • Index Cond: ((gc_segregation_entity)::text = 'gc_sas'::text)