explain.depesz.com

PostgreSQL's explain analyze made readable

Result: YQQ5

Settings
# exclusive inclusive rows x rows loops node
1. 0.002 1,920.737 ↓ 0.0 0 1

Update on permissions_device p (cost=93,241.57..113,086.70 rows=970 width=25) (actual time=1,920.737..1,920.737 rows=0 loops=1)

2. 211.332 1,920.735 ↓ 0.0 0 1

Hash Join (cost=93,241.57..113,086.70 rows=970 width=25) (actual time=1,920.735..1,920.735 rows=0 loops=1)

  • Hash Cond: ((t.device_id = p.device_id) AND (t.user_id = p.user_id))
  • Join Filter: (t.is_implicit <> p.is_implicit)
  • Rows Removed by Join Filter: 1664
3. 0.531 0.531 ↑ 1.3 1,664 1

Seq Scan on tmp_user_device t (cost=0.00..32.00 rows=2,189 width=15) (actual time=0.011..0.531 rows=1,664 loops=1)

  • Filter: (is_implicit IS NOT NULL)
4. 934.776 1,708.872 ↑ 1.0 2,571,103 1

Hash (cost=39,609.03..39,609.03 rows=2,571,103 width=19) (actual time=1,708.872..1,708.872 rows=2,571,103 loops=1)

  • Buckets: 65536 Batches: 64 Memory Usage: 2524kB
5. 774.096 774.096 ↑ 1.0 2,571,103 1

Seq Scan on permissions_device p (cost=0.00..39,609.03 rows=2,571,103 width=19) (actual time=0.006..774.096 rows=2,571,103 loops=1)