explain.depesz.com

PostgreSQL's explain analyze made readable

Result: YGKC

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

Limit (cost=26,800.49..26,800.49 rows=1 width=226) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Sort (cost=26,800.49..26,800.49 rows=1 width=226) (actual rows= loops=)

  • Sort Key: r.insertedon DESC
3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1,332.61..26,800.48 rows=1 width=226) (actual rows= loops=)

  • Join Filter: ((t.countyid)::text = ((c.countyid)::character varying)::text)
4. 0.000 0.000 ↓ 0.0

Seq Scan on county c (cost=0.00..1.31 rows=Limit (cost=19,620.35..19,620.35 rows=1 width=18) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Sort (cost=19,620.35..19,621.38 rows=411 width=18) (actual rows= loops=)

  • Sort Key: r.insertedon DESC
6. 0.000 0.000 ↓ 0.0

Hash Join (cost=1,638.03..19,618.30 rows=411 width=18) (actual rows= loops=)

  • Hash Cond: ((t.countyid)::text = ((c.countyid)::character varying)::text)
7. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1,636.38..19,607.34 rows=832 width=45) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Hash Join (cost=1,636.23..19,461.75 rows=834 width=40) (actual rows= loops=)

  • Hash Cond: (ca.fromteamid = r.teamid)
9. 0.000 0.000 ↓ 0.0

Seq Scan on caseassignment ca (cost=0.00..17,107.09 rows=99,909 width=16) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Hash (cost=1,636.22..1,636.22 rows=1 width=24) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Nested Loop (cost=40.83..1,636.22 rows=1 width=24) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Hash Join (cost=40.40..1,632.40 rows=1 width=16) (actual rows= loops=)

  • Hash Cond: (pl.intakeservicerequestactorid = isra.intakeservicerequestactorid)
13. 0.000 0.000 ↓ 0.0

Seq Scan on placement pl (cost=0.00..1,522.56 rows=18,513 width=32) (actual rows= loops=)

  • Filter: (activeflag = 1)
14. 0.000 0.000 ↓ 0.0

Hash (cost=40.37..40.37 rows=3 width=16) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4.77..40.37 rows=3 width=16) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Index Scan using ix1001_person on person per (cost=0.29..8.31 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (cjamspid = 1309342)
17. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on intakeservicerequestactor isra (cost=4.47..32.00 rows=6 width=32) (actual rows= loops=)

  • Recheck Cond: (personid = per.personid)
  • Filter: (activeflag = 1)
18. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on intakeservicerequestactor_personid_idx (cost=0.00..4.47 rows=7 width=0) (actual rows= loops=)

  • Index Cond: (personid = per.personid)
19. 0.000 0.000 ↓ 0.0

Index Scan using idx_routing_worker on routing r (cost=0.43..3.81 rows=1 width=52) (actual rows= loops=)

  • Index Cond: (((objectid)::text = ((pl.placementid)::character varying)::text) AND ((eventcode)::text = 'PLTR'::text) AND (activeflag = 1))
20. 0.000 0.000 ↓ 0.0

Index Scan using ix_team_teamid_actvflg on team t (cost=0.14..0.16 rows=1 width=53) (actual rows= loops=)

  • Index Cond: ((teamid = r.teamid) AND (activeflag = 1))
21. 0.000 0.000 ↓ 0.0

Hash (cost=1.32..1.32 rows=26 width=26) (actual rows= loops=)

  • Filter: (activeflag = 1)
22. 0.000 0.000 ↓ 0.0

Seq Scan on county c (cost=0.00..1.32 rows=26 width=26) (actual rows= loops=)

  • Filter: (activeflag = 1)1 width=234)
23. 0.000 0.000 ↓ 0.0

Merge Join (cost=1,332.61..26,799.04 rows=7 width=40) (actual rows= loops=)

  • Merge Cond: (ca.fromteamid = r.teamid)
24. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.14..28,173.20 rows=1,226 width=64) (actual rows= loops=)

  • Join Filter: (ca.fromteamid = t.teamid)
25. 0.000 0.000 ↓ 0.0

Index Scan using ix_team_teamid_actvflg on team t (cost=0.14..12.82 rows=1 width=48) (actual rows= loops=)

  • Index Cond: (activeflag = 1)
26. 0.000 0.000 ↓ 0.0

Seq Scan on caseassignment ca (cost=0.00..26,651.28 rows=120,728 width=16) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Materialize (cost=1,332.46..1,332.47 rows=1 width=24) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Sort (cost=1,332.46..1,332.47 rows=1 width=24) (actual rows= loops=)

  • Sort Key: r.teamid
29. 0.000 0.000 ↓ 0.0

Nested Loop (cost=40.84..1,332.45 rows=1 width=24) (actual rows= loops=)

30. 0.000 0.000 ↓ 0.0

Hash Join (cost=40.42..1,329.03 rows=1 width=16) (actual rows= loops=)

  • Hash Cond: (pl.intakeservicerequestactorid = isra.intakeservicerequestactorid)
31. 0.000 0.000 ↓ 0.0

Seq Scan on placement pl (cost=0.00..1,216.14 rows=19,324 width=32) (actual rows= loops=)

  • Filter: (activeflag = 1)
32. 0.000 0.000 ↓ 0.0

Hash (cost=40.37..40.37 rows=4 width=16) (actual rows= loops=)

33. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4.77..40.37 rows=4 width=16) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Index Scan using ix1001_person on person per (cost=0.29..8.31 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (cjamspid = 1309342)
35. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on intakeservicerequestactor isra (cost=4.48..31.99 rows=7 width=32) (actual rows= loops=)

  • Recheck Cond: (personid = per.personid)
  • Filter: (activeflag = 1)
36. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ix1001_intakeservicerequestactor (cost=0.00..4.48 rows=7 width=0) (actual rows= loops=)

  • Index Cond: (personid = per.personid)
37. 0.000 0.000 ↓ 0.0

Index Scan using idx_routing_worker on routing r (cost=0.43..3.41 rows=1 width=51) (actual rows= loops=)

  • Index Cond: (((objectid)::text = ((pl.placementid)::character varying)::text) AND ((eventcode)::text = 'PLTR'::text) AND (activeflag = 1))