explain.depesz.com

PostgreSQL's explain analyze made readable

Result: VSIl

Settings
# exclusive inclusive rows x rows loops node
1. 0.072 618.345 ↑ 1.1 19 1

Finalize GroupAggregate (cost=39,437.92..39,438.82 rows=21 width=72) (actual time=618.289..618.345 rows=19 loops=1)

  • Group Key: f.abbrev, f.name, f.fund_currency
2. 0.000 618.273 ↓ 1.1 45 1

Sort (cost=39,437.92..39,438.03 rows=42 width=72) (actual time=618.270..618.273 rows=45 loops=1)

  • Sort Key: f.abbrev, f.name, f.fund_currency
  • Sort Method: quicksort Memory: 31kB
3. 7.482 619.112 ↓ 1.1 45 1

Gather (cost=39,432.33..39,436.79 rows=42 width=72) (actual time=617.630..619.112 rows=45 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
4. 4.521 611.630 ↑ 1.4 15 3 / 3

Partial HashAggregate (cost=38,432.33..38,432.59 rows=21 width=72) (actual time=611.614..611.630 rows=15 loops=3)

  • Group Key: f.abbrev, f.name, f.fund_currency
5. 5.166 607.109 ↑ 1.4 4,476 3 / 3

Hash Join (cost=6.70..38,368.79 rows=6,354 width=46) (actual time=392.797..607.109 rows=4,476 loops=3)

  • Hash Cond: ((b.fund_id = f_1.fund_id) AND (b.client_id = f_1.client_id))
6. 601.776 601.776 ↑ 1.4 4,476 3 / 3

Parallel Seq Scan on balance b (cost=0.00..38,250.90 rows=6,354 width=14) (actual time=392.552..601.776 rows=4,476 loops=3)

  • Filter: ((anum < 30000) AND (value_dt = to_date('2018-07-31'::text, 'YYYY-MM-DD'::text)))
  • Rows Removed by Filter: 750,699
7. 0.013 0.167 ↑ 1.0 21 3 / 3

Hash (cost=6.38..6.38 rows=21 width=52) (actual time=0.167..0.167 rows=21 loops=3)

  • Buckets: 1,024 Batches: 1 Memory Usage: 10kB
8. 0.025 0.154 ↑ 1.0 21 3 / 3

Hash Join (cost=4.47..6.38 rows=21 width=52) (actual time=0.125..0.154 rows=21 loops=3)

  • Hash Cond: ((ag.tgroup)::text = (f.abbrev)::text)
9. 0.022 0.091 ↑ 1.0 21 3 / 3

Hash Join (cost=3.00..4.62 rows=21 width=17) (actual time=0.070..0.091 rows=21 loops=3)

  • Hash Cond: ((a.agroup)::text = (ag.agroup)::text)
10. 0.025 0.046 ↑ 1.0 21 3 / 3

Hash Join (cost=1.52..2.86 rows=21 width=22) (actual time=0.034..0.046 rows=21 loops=3)

  • Hash Cond: (((a.tgroup)::text = (f_1.abbrev)::text) AND (a.client_id = f_1.client_id))
11. 0.004 0.004 ↑ 1.0 21 3 / 3

Seq Scan on agroups a (cost=0.00..1.21 rows=21 width=19) (actual time=0.002..0.004 rows=21 loops=3)

12. 0.011 0.017 ↑ 1.0 21 3 / 3

Hash (cost=1.21..1.21 rows=21 width=13) (actual time=0.016..0.017 rows=21 loops=3)

  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
13. 0.006 0.006 ↑ 1.0 21 3 / 3

Seq Scan on fund f_1 (cost=0.00..1.21 rows=21 width=13) (actual time=0.002..0.006 rows=21 loops=3)

14. 0.013 0.023 ↑ 1.0 21 3 / 3

Hash (cost=1.21..1.21 rows=21 width=15) (actual time=0.023..0.023 rows=21 loops=3)

  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
15. 0.010 0.010 ↑ 1.0 21 3 / 3

Seq Scan on agroups ag (cost=0.00..1.21 rows=21 width=15) (actual time=0.006..0.010 rows=21 loops=3)

16. 0.013 0.038 ↑ 1.0 21 3 / 3

Hash (cost=1.21..1.21 rows=21 width=40) (actual time=0.038..0.038 rows=21 loops=3)

  • Buckets: 1,024 Batches: 1 Memory Usage: 10kB
17. 0.025 0.025 ↑ 1.0 21 3 / 3

Seq Scan on fund f (cost=0.00..1.21 rows=21 width=40) (actual time=0.018..0.025 rows=21 loops=3)

Planning time : 0.953 ms
Execution time : 619.440 ms