explain.depesz.com

PostgreSQL's explain analyze made readable

Result: qnaD

Settings
# exclusive inclusive rows x rows loops node
1. 0.020 689.387 ↑ 1.0 1 1

Aggregate (cost=31,448.70..31,448.71 rows=1 width=8) (actual time=689.387..689.387 rows=1 loops=1)

2. 0.072 689.367 ↑ 170.5 6 1

Hash Join (cost=22,297.85..31,446.15 rows=1,023 width=38) (actual time=634.191..689.367 rows=6 loops=1)

  • Hash Cond: ((user_login.user_id)::text = (calculation.user_id)::text)
3. 113.267 113.267 ↑ 288.8 235 1

Seq Scan on user_login (cost=0.00..8,970.08 rows=67,879 width=38) (actual time=56.216..113.267 rows=235 loops=1)

  • Filter: (to_timestamp((("timestamp" / 1000))::double precision) > (timezone(current_setting('TimeZone'::text), now()) - '01:00:00'::interval))
  • Rows Removed by Filter: 203688
4. 0.553 576.028 ↓ 6.0 2,293 1

Hash (cost=22,293.04..22,293.04 rows=385 width=39) (actual time=576.028..576.028 rows=2,293 loops=1)

  • Buckets: 4096 (originally 1024) Batches: 1 (originally 1) Memory Usage: 193kB
5. 10.191 575.475 ↓ 6.0 2,293 1

Unique (cost=22,287.24..22,289.19 rows=385 width=39) (actual time=540.415..575.475 rows=2,293 loops=1)

6. 358.383 565.284 ↓ 193.2 75,354 1

Sort (cost=22,287.24..22,288.21 rows=390 width=39) (actual time=540.413..565.284 rows=75,354 loops=1)

  • Sort Key: calculation.user_id
  • Sort Method: external merge Disk: 3648kB
7. 29.799 206.901 ↓ 193.2 75,354 1

Gather (cost=1,000.00..22,270.45 rows=390 width=39) (actual time=30.033..206.901 rows=75,354 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
8. 177.102 177.102 ↓ 155.0 25,118 3

Parallel Seq Scan on calculation (cost=0.00..21,231.45 rows=162 width=39) (actual time=26.670..177.102 rows=25,118 loops=3)

  • Filter: (((function_name)::text = 'esod-doublebearing-prod-handler'::text) AND ((to_timestamp((("timestamp" / 1000))::double precision))::date >= '2019-04-01'::date) AND ((to_timestamp((("timestamp" / 1000))::double precision))::date <= '2019-05-08'::date))
  • Rows Removed by Filter: 114932