explain.depesz.com

PostgreSQL's explain analyze made readable

Result: l2Po

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.740 ↑ 1.0 1 1

Result (cost=0.36..0.37 rows=1 width=4) (actual time=0.739..0.740 rows=1 loops=1)

  • Buffers: shared hit=79
  • Buffers: shared hit=9 read=5
  • I/O Timings: read=1.722
2.          

CTE resultcounts

3. 0.042 1.912 ↑ 1.0 2 1

HashAggregate (cost=48.03..48.06 rows=2 width=44) (actual time=1.910..1.912 rows=2 loops=1)

  • Group Key: p.donationstatus
  • Buffers: shared hit=9 read=5
  • I/O Timings: read=1.722
4. 0.076 1.870 ↓ 6.3 189 1

Hash Join (cost=38.92..47.81 rows=30 width=9) (actual time=1.791..1.870 rows=189 loops=1)

  • Hash Cond: (p.batchfundexecutionid = e.id)
  • Buffers: shared hit=9 read=5
  • I/O Timings: read=1.722
5. 1.209 1.209 ↓ 6.3 189 1

Index Scan using batchfundproject_batchfundsettingsid on batchfundproject p (cost=0.42..9.23 rows=30 width=13) (actual time=1.172..1.209 rows=189 loops=1)

  • Index Cond: (batchfundsettingsid = 415)
  • Buffers: shared hit=6 read=4
  • I/O Timings: read=1.155
6. 0.009 0.585 ↑ 74.4 17 1

Hash (cost=22.70..22.70 rows=1,264 width=4) (actual time=0.585..0.585 rows=17 loops=1)

  • Buckets: 2,048 Batches: 1 Memory Usage: 17kB
  • Buffers: shared read=1
  • I/O Timings: read=0.566
7. 0.576 0.576 ↑ 74.4 17 1

Seq Scan on batchfundexecution e (cost=0.00..22.70 rows=1,264 width=4) (actual time=0.574..0.576 rows=17 loops=1)

  • Filter: (completedtime IS NOT NULL)
  • Buffers: shared read=1
  • I/O Timings: read=0.566
8.          

Initplan (for Result)

9. 0.001 0.735 ↑ 1.0 1 1

Limit (cost=0.29..0.36 rows=1 width=4) (actual time=0.735..0.735 rows=1 loops=1)

  • Buffers: shared hit=79
10. 0.000 0.734 ↑ 18,481.0 1 1

Index Only Scan using batchfundproject_donationstatus_batchfundsettings on batchfundproject (cost=0.29..1,283.65 rows=18,481 width=4) (actual time=0.734..0.734 rows=1 loops=1)

11. 1.922 1.922 ↑ 1.0 1 1

Index Cond: ((id IS NOT Result (cost=48.28..48.29 rows=1 width=64) (actual time=1.922..1.922 rows=1 loops=1)

12. 1.915 1.915 ↑ 1.0 1 1

CTE Scan on resultcounts (cost=0.00..0.04 rows=1 width=8) (actual time=1.915..1.915 rows=1 loops=1)

  • Filter: (donationstatus = 'FUNDED'::batchfunddonationstatus)
  • Rows Removed by Filter: 1
  • Buffers: shared hit=9 read=5
  • I/O Timings: read=1.722
13. 0.001 0.001 ↑ 1.0 1 1

CTE Scan on resultcounts resultcounts_1 (cost=0.00..0.04 rows=1 width=8) (actual time=0.001..0.001 rows=1 loops=1)

  • Filter: (donationstatus = 'SKIPPED'::batchfunddonationstatus)
  • Rows Removed by Filter: 1
14. 0.001 0.001 ↓ 0.0 0 1

CTE Scan on resultcounts resultcounts_2 (cost=0.00..0.04 rows=1 width=8) (actual time=0.001..0.001 rows=0 loops=1)

  • Filter: (donationstatus = 'ERROR'::batchfunddonationstatus)
  • Rows Removed by Filter: 2
15. 0.001 0.001 ↓ 0.0 0 1

CTE Scan on resultcounts resultcounts_3 (cost=0.00..0.04 rows=1 width=8) (actual time=0.001..0.001 rows=0 loops=1)

  • Filter: (donationstatus IS NULL)
  • Rows Removed by Filter: 2
16. 0.001 0.001 ↑ 1.0 1 1

CTE Scan on resultcounts resultcounts_4 (cost=0.00..0.04 rows=1 width=32) (actual time=0.001..0.001 rows=1 loops=1)

  • Filter: (donationstatus = 'FUNDED'::batchfunddonationstatus)
  • Rows Removed by Filter: 1
  • Heap Fetches: 1
  • Buffers: shared hit=79
Planning time : 0.423 ms
Execution time : 0.778 ms