explain.depesz.com

PostgreSQL's explain analyze made readable

Result: HUIh

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

Hash Join (cost=178,951.47..183,195.58 rows=267 width=24) (actual rows= loops=)

  • Hash Cond: (encode((((rbkp.invoice_id || '|'::text) || rbkp.payment_id))::bytea, 'base64'::text) = (cg.provider_reference)::text)
  • Join Filter: (((rbkp.amount)::double precision <> cg.amount) OR (rbkp.currency <> (cg.currency)::text) OR (CASE lower(rbkp.status) WHEN 'processed'::text THEN 'success'::text WHEN 'captured'::text THEN 'success'::text ELSE lower(rbkp.status) END <> cg.status))
2.          

CTE cg

3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..178,951.44 rows=1 width=76) (actual rows= loops=)

  • Join Filter: (p.provider_name_id = pn.id)
4. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..178,950.17 rows=1 width=137) (actual rows= loops=)

  • Join Filter: (t.provider_id = p.id)
5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..178,942.12 rows=1 width=137) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Seq Scan on transaction_type_compound ttc (cost=0.00..1.32 rows=2 width=82) (actual rows= loops=)

  • Filter: ((code_trx_type_compound)::text = ANY ('{SALE_3D_INIT,SALE}'::text[]))
7. 0.000 0.000 ↓ 0.0

Append (cost=0.00..89,468.95 rows=145 width=63) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Seq Scan on cgone_transactions t (cost=0.00..0.00 rows=1 width=329) (actual rows= loops=)

  • Filter: ((provider_reference IS NOT NULL) AND (ttc.transaction_type = transaction_type) AND (ttc.original_transaction_type = original_transaction_type) AND ((transaction_date)::date >= '2019-08-08'::date) AND ((transaction_date)::date <= '2019-08-08'::date))
9. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on failed_transactions t_1 (cost=132.28..15,235.36 rows=20 width=63) (actual rows= loops=)

  • Recheck Cond: ((transaction_type = ttc.transaction_type) AND (original_transaction_type = ttc.original_transaction_type))
  • Filter: ((provider_reference IS NOT NULL) AND ((transaction_date)::date >= '2019-08-08'::date) AND ((transaction_date)::date <= '2019-08-08'::date))
10. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on in_ftrans_trans_and_org (cost=0.00..132.28 rows=5,185 width=0) (actual rows= loops=)

  • Index Cond: ((transaction_type = ttc.transaction_type) AND (original_transaction_type = ttc.original_transaction_type))
11. 0.000 0.000 ↓ 0.0

Index Scan using in_trans_trans_and_org on transactions t_2 (cost=0.43..74,233.59 rows=124 width=63) (actual rows= loops=)

  • Index Cond: ((transaction_type = ttc.transaction_type) AND (original_transaction_type = ttc.original_transaction_type))
  • Filter: ((provider_reference IS NOT NULL) AND ((transaction_date)::date >= '2019-08-08'::date) AND ((transaction_date)::date <= '2019-08-08'::date))
12. 0.000 0.000 ↓ 0.0

Seq Scan on providers p (cost=0.00..6.91 rows=91 width=16) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Seq Scan on provider_names pn (cost=0.00..1.24 rows=1 width=8) (actual rows= loops=)

  • Filter: ((name)::text = 'RBKMONEY'::text)
14. 0.000 0.000 ↓ 0.0

Seq Scan on rbkmoney_payments rbkp (cost=0.00..3,702.05 rows=53,405 width=36) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Hash (cost=0.02..0.02 rows=1 width=342) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

CTE Scan on cg (cost=0.00..0.02 rows=1 width=342) (actual rows= loops=)