explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Mqw5

Settings
# exclusive inclusive rows x rows loops node
1. 880.243 38,947.269 ↑ 23.1 25,697 1

Gather (cost=198,951.48..760,615.92 rows=593,903 width=56) (actual time=6,256.578..38,947.269 rows=25,697 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
2. 32,309.656 38,067.026 ↑ 28.9 8,566 3

Parallel Hash Join (cost=197,951.48..700,225.62 rows=247,460 width=56) (actual time=6,252.774..38,067.026 rows=8,566 loops=3)

  • Hash Cond: (raw_financial_statement.company_id = stock_price.company_id)
  • Join Filter: (date_trunc('day'::text, raw_financial_statement.announced) = date_trunc('day'::text, stock_price.date))
  • Rows Removed by Join Filter: 49174865
3. 55.567 59.084 ↑ 1.3 8,697 3

Parallel Bitmap Heap Scan on raw_financial_statement (cost=495.46..44,054.05 rows=10,923 width=963) (actual time=6.075..59.084 rows=8,697 loops=3)

  • Recheck Cond: (d_quarter_idx = 1)
  • Heap Blocks: exact=4236
4. 3.517 3.517 ↑ 1.0 26,090 1

Bitmap Index Scan on raw_financial_statement_d_quarter_idx (cost=0.00..488.90 rows=26,215 width=0) (actual time=3.517..3.517 rows=26,090 loops=1)

  • Index Cond: (d_quarter_idx = 1)
5. 4,505.508 5,698.286 ↑ 1.3 3,266,454 3

Parallel Hash (cost=122,492.68..122,492.68 rows=4,083,068 width=24) (actual time=5,698.285..5,698.286 rows=3,266,454 loops=3)

  • Buckets: 65536 (originally 65536) Batches: 512 (originally 256) Memory Usage: 4128kB
6. 1,192.778 1,192.778 ↑ 1.3 3,266,454 3

Parallel Seq Scan on stock_price (cost=0.00..122,492.68 rows=4,083,068 width=24) (actual time=0.042..1,192.778 rows=3,266,454 loops=3)

Planning time : 0.585 ms
Execution time : 38,951.718 ms