explain.depesz.com

PostgreSQL's explain analyze made readable

Result: aIPY

Settings
# exclusive inclusive rows x rows loops node
1. 1,897.535 4,192.893 ↓ 4,804.0 4,804 1

Nested Loop (cost=1,444.30..2,684.19 rows=1 width=82) (actual time=26.013..4,192.893 rows=4,804 loops=1)

  • Join Filter: (u.id = i.user_id)
  • Rows Removed by Join Filter: 8123235
2. 4.762 49.134 ↓ 4,841.0 4,841 1

Nested Loop (cost=1,444.30..2,617.23 rows=1 width=93) (actual time=25.599..49.134 rows=4,841 loops=1)

3. 7.604 28.955 ↓ 5,139.0 5,139 1

Hash Right Join (cost=1,444.03..2,616.81 rows=1 width=65) (actual time=25.585..28.955 rows=5,139 loops=1)

  • Hash Cond: (ec.entry_id = fj.id)
  • Filter: (ec.id IS NULL)
  • Rows Removed by Filter: 10327
4. 3.386 3.386 ↓ 1.0 10,344 1

Seq Scan on entry_comments ec (cost=0.00..1,100.28 rows=10,328 width=40) (actual time=0.006..3.386 rows=10,344 loops=1)

5. 5.644 17.965 ↓ 3.0 12,962 1

Hash (cost=1,390.21..1,390.21 rows=4,305 width=73) (actual time=17.965..17.965 rows=12,962 loops=1)

  • Buckets: 16384 (originally 8192) Batches: 1 (originally 1) Memory Usage: 1455kB
6. 12.321 12.321 ↓ 3.0 12,962 1

Seq Scan on food_journals fj (cost=0.00..1,390.21 rows=4,305 width=73) (actual time=0.017..12.321 rows=12,962 loops=1)

  • Filter: ((deleted_at IS NULL) AND (date_part('hour'::text, (('now'::cstring)::timestamp without time zone - inserted_at)) < '720'::double precision))
  • Rows Removed by Filter: 250
7. 15.417 15.417 ↑ 1.0 1 5,139

Index Scan using users_pkey on users u (cost=0.28..0.42 rows=1 width=28) (actual time=0.002..0.003 rows=1 loops=5,139)

  • Index Cond: (id = fj.user_id)
  • Filter: (NOT dummy)
  • Rows Removed by Filter: 0
8. 2,246.224 2,246.224 ↑ 1.0 1,679 4,841

Seq Scan on invitations i (cost=0.00..45.31 rows=1,731 width=29) (actual time=0.002..0.464 rows=1,679 loops=4,841)