explain.depesz.com

PostgreSQL's explain analyze made readable

Result: GvoY : credit-misha

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

Limit (cost=3,640,755.98..3,640,757.55 rows=9 width=360) (actual rows= loops=)

  • WHEN ((atscorp.scjscor >= '400'::numeric) AND (atscorp.scjscor < '500'::numeric)) THEN '400 to 499'::text WHEN ((atscorp.scjscor >= '500'::numeric) AND (atscorp.scjscor < '600'::numeric)) THEN '500 to 599'::text WHEN ((atscorp.scjscor >= '600'::numeric) AND (atscorp.scjscor < '700'::numeric)) THEN '600 to 699'::text WHEN ((atscorp.scjscor >= '700'::numeric) AND (atscorp.scjscor < '800'::numeric)) THEN '700 to 799'::text WHEN (atscorp.scjscor >= '800'::numeric) THEN '800 or Above'::text ELSE 'Undefined'::text END)
  • AND (atscorp.scjscor < '800'::numeric)) THEN '6'::text WHEN (atscorp.scjscor >= '800'::numeric) THEN '7'::text ELSE '8'::text END), (CASE WHEN (atscorp.scjscor < '200'::numeric) THEN 'Below 200'::text WHEN ((atscorp.scjscor >= '200'::numeric) AND (atscorp.scjscor < '300'::numeric)) THEN '200 to 299'::text WHEN ((atscorp.scjscor >= '300'::numeric) AND (atscorp.scjscor < '400'::numeric)) THEN '300 to 399'::text WHEN ((atscorp.scjscor >= '400'::numeric) AND (atscorp.scjscor < '500'::numeric)) THEN '400 to 499'::text WHEN ((atscorp.scjscor >= '500'::numeric) AND (atscorp.scjscor < '600'::numeric)) THEN '500to 599'::text WHEN ((atscorp.scjscor >= '600'::numeric) AND (atscorp.scjscor < '700'::numeric)) THEN '600 to 699'::text WHEN ((atscorp.scjscor >= '700'::numeric) AND (atscorp.scjscor < '800'::numeric)) THEN '700 to 799'::text WHEN (atscorp.scjscor >= '800'::numeric) THEN '800 or Above'::text ELSE 'Undefined'::text END)
2. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=3,640,755.98..3,640,757.55 rows=9 width=360) (actual rows= loops=)

  • Group Key: (CASE WHEN (atscorp.scjscor < '200'::numeric) THEN '0'::text WHEN ((atscorp.scjscor >= '200'::numeric) AND (atscorp.scjscor < '300'::numeric)) THEN '1'::text WHEN ((atscorp.scjscor >='300'::numeric) AND (atscorp.scjscor < '400'::numeric)) THEN '2'::text WHEN ((atscorp.scjscor >= '400'::numeric) AND (atscorp.scjscor < '500'::numeric)) THEN '3'::text WHEN ((atscorp.scjscor >= '500'::numeric) AND (atscorp.scjscor < '600'::numeric)) THEN '4'::text WHEN ((atscorp.scjscor >= '600'::numeric) AND (atscorp.scjscor < '700'::numeric)) THEN '5'::text WHEN ((atscorp.scjscor >= '700'::numeric) AND(atscorp.scjscor < '800'::numeric)) THEN '6'::text WHEN (atscorp.scjscor >= '800'::numeric) THEN '7'::text ELSE '8'::text END), (CASE WHEN (atscorp.scjscor < '200'::numeric) THEN 'Below 200'::text WHEN ((atscorp.scjscor >= '200'::numeric) AND (atscorp.scjscor < '300'::numeric)) THEN '200 to 299'::text WHEN ((atscorp.scjscor >= '300'::numeric) AND (atscorp.scjscor < '400'::numeric)) THEN '300 to 399'::text
3. 0.000 0.000 ↓ 0.0

Sort (cost=3,640,755.98..3,640,756.00 rows=9 width=100) (actual rows= loops=)

  • Sort Key: (CASE WHEN (atscorp.scjscor < '200'::numeric) THEN '0'::text WHEN ((atscorp.scjscor >= '200'::numeric) AND (atscorp.scjscor < '300'::numeric)) THEN '1'::text WHEN ((atscorp.scjscor >= '300'::numeric) AND (atscorp.scjscor < '400'::numeric)) THEN '2'::text WHEN ((atscorp.scjscor >= '400'::numeric) AND (atscorp.scjscor < '500'::numeric)) THEN '3'::text WHEN ((atscorp.scjscor >= '500'::numeric) AND (atscorp.scjscor < '600'::numeric)) THEN '4'::text WHEN ((atscorp.scjscor >= '600'::numeric) AND (atscorp.scjscor < '700'::numeric)) THEN '5'::text WHEN ((atscorp.scjscor >= '700'::numeric)
4. 0.000 0.000 ↓ 0.0

Gather (cost=1,001.56..3,640,755.83 rows=9 width=100) (actual rows= loops=)

  • Workers Planned: 2
5. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.56..3,639,754.58 rows=4 width=100) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.13..3,639,740.17 rows=4 width=12) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.57..3,639,710.28 rows=7 width=8) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on acctpf (cost=0.00..27,443.15 rows=2 width=5) (actual rows= loops=)

  • Filter: ((hqtrs)::text = '00594'::text)
9. 0.000 0.000 ↓ 0.0

Index Scan using idx_auto_atreqfpx__aqinv_aqacct_aqlnam_aqfnam on atreqfpx (cost=0.57..1,806,131.76 rows=181 width=14) (actual rows= loops=)

  • Index Cond: ((aqacct)::text = (acctpf."ACCT#")::text)
  • Filter: ((aqdstm >= '1180101'::numeric) AND (aqdstm < '1190101'::numeric))
10. 0.000 0.000 ↓ 0.0

Index Scan using idx_auto_atscorp__scinv on atscorp (cost=0.56..4.26 rows=1 width=13) (actual rows= loops=)

  • Index Cond: (("SCINV#")::text = (atreqfpx."AQINV#")::text)
  • Filter: ((scjscor >= '200'::numeric) AND (scjscor < '800'::numeric))
11. 0.000 0.000 ↓ 0.0

Index Scan using idx_looker_creditprofile__trwinv on creditprofile l_crdtrw (cost=0.43..3.52 rows=1 width=45) (actual rows= loops=)

  • Index Cond: ((trwinv)::text = (atreqfpx."AQINV#")::text)