explain.depesz.com

PostgreSQL's explain analyze made readable

Result: sXBI

Settings
# exclusive inclusive rows x rows loops node
1. 0.381 110.121 ↑ 1.0 1 1

Aggregate (cost=382.65..382.66 rows=1 width=8) (actual time=110.121..110.121 rows=1 loops=1)

  • Buffers: shared hit=283 read=58 dirtied=8
  • I/O Timings: read=103.383
2. 0.176 109.740 ↓ 1.0 80 1

Nested Loop (cost=0.72..382.46 rows=78 width=4) (actual time=3.006..109.740 rows=80 loops=1)

  • Buffers: shared hit=275 read=58 dirtied=8
  • I/O Timings: read=103.383
3. 9.564 9.564 ↓ 1.0 80 1

Index Only Scan using index_users_ops_dashboard_projects_on_user_id_and_project_id on public.users_ops_dashboard_projects (cost=0.29..29.62 rows=79 width=4) (actual time=0.380..9.564 rows=80 loops=1)

  • Index Cond: ((users_ops_dashboard_projects.user_id >= 0) AND (users_ops_dashboard_projects.user_id <= 9999))
  • Heap Fetches: 12
  • Buffers: shared hit=5 read=8 dirtied=6
  • I/O Timings: read=6.878
4. 100.000 100.000 ↑ 1.0 1 80

Index Scan using users_pkey on public.users (cost=0.43..4.46 rows=1 width=4) (actual time=1.248..1.250 rows=1 loops=80)

  • Index Cond: (users.id = users_ops_dashboard_projects.user_id)
  • Filter: ((users.ghost IS NOT TRUE) AND ((users.state)::text = 'active'::text) AND ((users.user_type IS NULL) OR (users.user_type <> ALL ('{2,1,3}'::integer[]))))
  • Rows Removed by Filter: 0
  • Buffers: shared hit=270 read=50 dirtied=2
  • I/O Timings: read=96.505