explain.depesz.com

PostgreSQL's explain analyze made readable

Result: uKjC : test

Settings
# exclusive inclusive rows x rows loops node
1. 256.953 1,368.302 ↑ 2.2 1,000 1

Hash Join (cost=396.06..273,223.31 rows=2,247 width=3,255) (actual time=4.943..1,368.302 rows=1,000 loops=1)

  • Buffers: shared hit=6960 read=238738
2. 1,106.459 1,106.459 ↓ 1.0 2,000,000 1

Seq Scan on callhome_notificationlogs callhome_notificationlogs (cost=0..265,305.93 rows=1,999,693 width=1,377) (actual time=0.025..1,106.459 rows=2,000,000 loops=1)

  • Buffers: shared hit=6571 read=238738
3. 1.022 4.890 ↑ 1.0 500 1

Hash (cost=389.81..389.81 rows=500 width=1,878) (actual time=4.89..4.89 rows=500 loops=1)

  • Buffers: shared hit=389
4. 0.087 3.868 ↑ 1.0 500 1

Limit (cost=0.43..384.81 rows=500 width=1,878) (actual time=0.177..3.868 rows=500 loops=1)

  • Buffers: shared hit=389
5. 3.781 3.781 ↑ 34.4 500 1

Index Scan using eventlog_datetime_index on callhome_eventlogs callhome_eventlogs (cost=0.43..13,216.93 rows=17,192 width=1,878) (actual time=0.175..3.781 rows=500 loops=1)

  • Index Cond: ((callhome_eventlogs.datetime < now()) AND (callhome_eventlogs.datetime > (now() - '30 days'::interval)))
  • Filter: (callhome_eventlogs.is_notified AND (callhome_eventlogs.eventlog_search ~~ '%super ; micro%'::text))
  • Buffers: shared hit=389