explain.depesz.com

PostgreSQL's explain analyze made readable

Result: meCU

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 678.280 ↑ 34.6 31 1

Finalize GroupAggregate (cost=50,137.61..50,212.35 rows=1,073 width=16) (actual time=677.403..678.280 rows=31 loops=1)

  • Group Key: (date_trunc('day'::text, impressions_tb.date))
2. 29.065 692.862 ↑ 10.2 62 1

Gather Merge (cost=50,137.61..50,207.97 rows=631 width=16) (actual time=677.354..692.862 rows=62 loops=1)

  • Workers Planned: 1
  • Workers Launched: 1
3. 0.669 663.797 ↑ 20.4 31 2 / 2

Partial GroupAggregate (cost=49,137.61..49,140.76 rows=631 width=16) (actual time=662.886..663.797 rows=31 loops=2)

  • Group Key: (date_trunc('day'::text, impressions_tb.date))
4. 1.537 663.128 ↓ 8.5 5,372 2 / 2

Sort (cost=49,137.61..49,137.92 rows=631 width=16) (actual time=662.864..663.128 rows=5,372 loops=2)

  • Sort Key: (date_trunc('day'::text, impressions_tb.date))
  • Sort Method: quicksort Memory: 446kB
5. 21.911 661.591 ↓ 8.5 5,372 2 / 2

Nested Loop (cost=0.17..49,131.74 rows=631 width=16) (actual time=0.520..661.591 rows=5,372 loops=2)

6. 92.033 92.033 ↓ 5.4 91,274 2 / 2

Parallel Index Scan using idx_impression_date_2 on impressions_tb (cost=0.09..471.98 rows=16,856 width=12) (actual time=0.023..92.033 rows=91,274 loops=2)

  • Index Cond: ((date > '2020-08-01 00:00:00'::timestamp without time zone) AND (date < '2020-09-01 00:00:00'::timestamp without time zone))
7. 547.647 547.647 ↓ 0.0 0 182,549 / 2

Index Scan using job_tb_pkey on job_tb (cost=0.09..2.89 rows=1 width=4) (actual time=0.006..0.006 rows=0 loops=182,549)

  • Index Cond: (id = impressions_tb.job_id)
  • Filter: ((source)::text = 'Time4Change'::text)
  • Rows Removed by Filter: 1