explain.depesz.com

PostgreSQL's explain analyze made readable

Result: adKl

Settings
# exclusive inclusive rows x rows loops node
1. 2.266 58,873.562 ↑ 4.0 3 1

GroupAggregate (cost=105.95..5,602.48 rows=12 width=677) (actual time=58,864.950..58,873.562 rows=3 loops=1)

  • Group Key: cd.subscriptionnumber, cd.servicecode
2. 3.987 58,871.296 ↓ 152.2 1,827 1

Nested Loop (cost=105.95..5,601.43 rows=12 width=305) (actual time=58,859.246..58,871.296 rows=1,827 loops=1)

  • Join Filter: ((cd.servicecode = tax.servicecode) AND (cd.companynumber = tax.companynumber))
  • Rows Removed by Join Filter: 32886
3. 0.033 1.300 ↓ 19.0 19 1

Subquery Scan on tax (cost=52.74..58.38 rows=1 width=223) (actual time=1.067..1.300 rows=19 loops=1)

  • Filter: ((tax.rownum = 1) AND (tax.servicecategory = 'A'::bpchar) AND (tax.issuppressfrominvoice = '0'::bpchar))
  • Rows Removed by Filter: 121
4. 0.199 1.267 ↑ 1.0 140 1

WindowAgg (cost=52.74..55.91 rows=141 width=237) (actual time=1.038..1.267 rows=140 loops=1)

5. 0.294 1.068 ↑ 1.0 140 1

Sort (cost=52.74..53.09 rows=141 width=229) (actual time=1.028..1.068 rows=140 loops=1)

  • Sort Key: coeirep.eibucd, coeirep.eicicd, (CASE WHEN (coeirep.eibfdt = '0'::numeric) THEN NULL::date WHEN (coeirep.eibfdt = '9999999'::numeric) THEN '9999-12-31'::date ELSE (((((substr(((('19000000'::numeric + coeirep.eibfdt))::character varying)::text, 1, 4) || '-'::text) || substr(((('19000000'::numeric + coeirep.eibfdt))::character varying)::text, 5, 2)) || '-'::text) || substr(((('19000000'::numeric + coeirep.eibfdt))::character varying)::text, 7, 2)))::date END) DESC
  • Sort Method: quicksort Memory: 62kB
6. 0.054 0.774 ↑ 1.0 140 1

Hash Join (cost=29.94..47.70 rows=141 width=229) (actual time=0.408..0.774 rows=140 loops=1)

  • Hash Cond: ((codyrep.dycicd = cwawrep.awcicd) AND (codyrep.dybucd = cwawrep.awbucd))
7. 0.060 0.599 ↑ 1.0 144 1

Hash Join (cost=19.62..36.61 rows=144 width=119) (actual time=0.275..0.599 rows=144 loops=1)

  • Hash Cond: ((coeirep.eicicd = codyrep.dycicd) AND (coeirep.eibucd = codyrep.dybucd))
8. 0.287 0.362 ↑ 1.0 144 1

Hash Left Join (cost=5.19..19.98 rows=144 width=889) (actual time=0.084..0.362 rows=144 loops=1)

  • Hash Cond: ((coeirep.eicicd = cfa9rep.a9cicd) AND (coeirep.eibucd = cfa9rep.a9bucd) AND (coeirep.eibfdt = cfa9rep.a9bfdt))
9. 0.014 0.014 ↑ 1.0 144 1

Seq Scan on coeirep (cost=0.00..6.44 rows=144 width=32) (actual time=0.002..0.014 rows=144 loops=1)

10. 0.033 0.061 ↑ 1.0 116 1

Hash (cost=3.16..3.16 rows=116 width=25) (actual time=0.061..0.061 rows=116 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 15kB
11. 0.028 0.028 ↑ 1.0 116 1

Seq Scan on cfa9rep (cost=0.00..3.16 rows=116 width=25) (actual time=0.003..0.028 rows=116 loops=1)

12. 0.076 0.177 ↑ 1.0 177 1

Hash (cost=11.77..11.77 rows=177 width=83) (actual time=0.177..0.177 rows=177 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 28kB
13. 0.101 0.101 ↑ 1.0 177 1

Seq Scan on codyrep (cost=0.00..11.77 rows=177 width=83) (actual time=0.004..0.101 rows=177 loops=1)

14. 0.063 0.121 ↑ 1.0 173 1

Hash (cost=7.73..7.73 rows=173 width=132) (actual time=0.121..0.121 rows=173 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 36kB
15. 0.058 0.058 ↑ 1.0 173 1

Seq Scan on cwawrep (cost=0.00..7.73 rows=173 width=132) (actual time=0.006..0.058 rows=173 loops=1)

16. 58,455.970 58,866.009 ↓ 1.1 1,827 19

Bitmap Heap Scan on ratedusage cd (cost=53.21..5,518.19 rows=1,658 width=97) (actual time=30.777..3,098.211 rows=1,827 loops=19)

  • Recheck Cond: (subscriptionnumber = '20100'::numeric)
  • Filter: ((usagestatus = '3'::bpchar) AND (usagedatetime < CURRENT_DATE))
  • Heap Blocks: exact=34713
17. 410.039 410.039 ↑ 1.0 1,827 19

Bitmap Index Scan on xif5ratedusage (cost=0.00..52.80 rows=1,840 width=0) (actual time=21.581..21.581 rows=1,827 loops=19)

  • Index Cond: (subscriptionnumber = '20100'::numeric)
Planning time : 1.587 ms
Execution time : 58,874.289 ms