explain.depesz.com

PostgreSQL's explain analyze made readable

Result: SH9u

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

Nested Loop Left Join (cost=1,410.35..8,696.42 rows=2 width=197) (actual rows= loops=)

  • Join Filter: ((x.administrationid = fact.administrationid) AND (fact.organizationid = org.organizationid) AND (fact.subtestid = obj.subtestid) AND (fact.assessmentlevelid = frm.assessmentlevelid) AND (fact.assessmentformid = frm.assessmentformid) AND (fact.objectiveid = obj.objectiveid))
2. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1,409.93..8,690.89 rows=2 width=189) (actual rows= loops=)

  • Join Filter: ((frm.assessmentformid = ofrm.assessmentformid) AND (obj.objectiveid = ofrm.objectiveid))
3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1,409.79..8,688.45 rows=5 width=189) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1,409.52..8,685.59 rows=6 width=189) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1,409.24..8,683.66 rows=6 width=189) (actual rows= loops=)

  • Join Filter: (tst.subtestid = obj.subtestid)
6. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1,409.10..8,680.51 rows=9 width=203) (actual rows= loops=)

  • Join Filter: (asmt.assessmentformid = frm.assessmentformid)
7. 0.000 0.000 ↓ 0.0

Merge Join (cost=3.18..3.24 rows=2 width=40) (actual rows= loops=)

  • Merge Cond: ((tst.subtestid = lvl.subtestid) AND (frm.assessmentlevelid = lvl.assessmentlevelid))
8. 0.000 0.000 ↓ 0.0

Sort (cost=2.14..2.15 rows=4 width=28) (actual rows= loops=)

  • Sort Key: tst.subtestid, frm.assessmentlevelid
9. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..2.10 rows=4 width=28) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Seq Scan on dim_assessmentform frm (cost=0.00..1.02 rows=2 width=16) (actual rows= loops=)

  • Filter: (administrationid = 525994)
11. 0.000 0.000 ↓ 0.0

Materialize (cost=0.00..1.03 rows=2 width=12) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Seq Scan on dim_subtest tst (cost=0.00..1.02 rows=2 width=12) (actual rows= loops=)

  • Filter: (administrationid = 525994)
13. 0.000 0.000 ↓ 0.0

Sort (cost=1.03..1.04 rows=2 width=20) (actual rows= loops=)

  • Sort Key: lvl.subtestid, lvl.assessmentlevelid
14. 0.000 0.000 ↓ 0.0

Seq Scan on dim_assessmentlevel lvl (cost=0.00..1.02 rows=2 width=20) (actual rows= loops=)

  • Filter: (administrationid = 525994)
15. 0.000 0.000 ↓ 0.0

Materialize (cost=1,405.92..8,677.02 rows=9 width=175) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Hash Join (cost=1,405.92..8,676.97 rows=9 width=175) (actual rows= loops=)

  • Hash Cond: ((x.documentidcode = asmt.documentidcode) AND (x.testeventidcode = asmt.testeventidcode))
17. 0.000 0.000 ↓ 0.0

Seq Scan on stg_subtestobjective_score x (cost=0.00..5,918.35 rows=180,348 width=159) (actual rows= loops=)

  • Filter: (administrationid = 525994)
18. 0.000 0.000 ↓ 0.0

Hash (cost=1,121.24..1,121.24 rows=18,979 width=48) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Seq Scan on dim_assessmentparticipant asmt (cost=0.00..1,121.24 rows=18,979 width=48) (actual rows= loops=)

  • Filter: (administrationid = 525994)
20. 0.000 0.000 ↓ 0.0

Index Scan using udx_dim_objective on dim_objective obj (cost=0.14..0.34 rows=1 width=34) (actual rows= loops=)

  • Index Cond: ((administrationid = 525994) AND ((objectivecode)::text = (x.objectivecode)::text))
21. 0.000 0.000 ↓ 0.0

Index Scan using pk_dim_assessmentsession on dim_assessmentsession ses (cost=0.28..0.31 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (assessmentsessionid = asmt.assessmentsessionid)
  • Filter: (administrationid = 525994)
22. 0.000 0.000 ↓ 0.0

Index Scan using pk_dim_organizations on dim_organizations org (cost=0.28..0.47 rows=1 width=12) (actual rows= loops=)

  • Index Cond: (organizationid = ses.organizationid)
  • Filter: ((administrationid = 525994) AND (orglevel = 2))
23. 0.000 0.000 ↓ 0.0

Index Only Scan using pk_dim_objectiveform on dim_objectiveform ofrm (cost=0.14..0.34 rows=10 width=20) (actual rows= loops=)

  • Index Cond: ((administrationid = 525994) AND (assessmentformid = asmt.assessmentformid))
24. 0.000 0.000 ↓ 0.0

Index Scan using idx_fact_subtestobjectiveresult_1 on fact_subtestobjectiveresult fact (cost=0.42..2.73 rows=1 width=68) (actual rows= loops=)