explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 9Iy7

Settings

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0 1,504 1

Sort (cost=0..0 rows=0 width=0) (actual rows=1,504 loops=1)

  • Sort Key: (count(incidentrecord.incident_id)) DESC
  • Sort Method: quicksort Memory: 448kB
2. 0.000 0.000 ↓ 0.0 1,504 1

GroupAggregate (cost=0..0 rows=0 width=0) (actual rows=1,504 loops=1)

  • Group Key: ip.id, incidentrecord.source_ip
3. 0.000 0.000 ↓ 0.0 1,707 1

Sort (cost=0..0 rows=0 width=0) (actual rows=1,707 loops=1)

  • Sort Key: ip.id, incidentrecord.source_ip
  • Sort Method: quicksort Memory: 502kB
4. 0.000 0.000 ↓ 0.0 1,707 1

Gather (cost=0..0 rows=0 width=0) (actual rows=1,707 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
5. 0.000 0.000 ↓ 0.0 569 3 / 3

Hash Join (cost=0..0 rows=0 width=0) (actual rows=569 loops=3)

6. 0.000 0.000 ↓ 0.0 569 3 / 3

Nested Loop (cost=0..0 rows=0 width=0) (actual rows=569 loops=3)

7. 0.000 0.000 ↓ 0.0 569 3 / 3

Seq Scan on incidentrecord incidentrecord (cost=0..0 rows=0 width=0) (actual rows=569 loops=3)

  • Filter: ((start_time > '2019-09-23 00:00:00'::timestamp without time zone) AND (start_time < '2019-10-01 00:00:00'::timestamp without time zone))
8. 0.000 0.000 ↓ 0.0 1 1,707 / 3

Index Scan using ip_ip on ip ip (cost=0..0 rows=0 width=0) (actual rows=1 loops=1,707)

  • Index Cond: (ip = incidentrecord.source_ip)
9. 0.000 0.000 ↓ 0.0 5 3 / 3

Hash (cost=0..0 rows=0 width=0) (actual rows=5 loops=3)

10. 0.000 0.000 ↓ 0.0 5 3 / 3

Seq Scan on env env (cost=0..0 rows=0 width=0) (actual rows=5 loops=3)