explain.depesz.com

PostgreSQL's explain analyze made readable

Result: TEBx

Settings
# exclusive inclusive rows x rows loops node
1. 0.004 1,219,729.853 ↑ 8.0 1 1

Nested Loop Left Join (cost=2.54..16.97 rows=8 width=46,966) (actual time=1,219,729.851..1,219,729.853 rows=1 loops=1)

2. 0.005 1,219,729.845 ↑ 8.0 1 1

Nested Loop Left Join (cost=2.40..15.68 rows=8 width=46,250) (actual time=1,219,729.843..1,219,729.845 rows=1 loops=1)

3. 0.005 1,219,729.836 ↑ 1.0 1 1

Nested Loop Left Join (cost=1.99..13.60 rows=1 width=46,086) (actual time=1,219,729.834..1,219,729.836 rows=1 loops=1)

4. 3.256 1,219,729.825 ↑ 1.0 1 1

Nested Loop Left Join (cost=1.71..12.54 rows=1 width=44,299) (actual time=1,219,729.824..1,219,729.825 rows=1 loops=1)

  • Join Filter: ((contactper0_.department_id)::text = (employerde1_.id)::text)
  • Rows Removed by Join Filter: 9955
5. 0.026 0.026 ↑ 1.0 1 1

Index Scan using contactpermission_pkey on contactpermission contactper0_ (cost=0.28..2.29 rows=1 width=795) (actual time=0.025..0.026 rows=1 loops=1)

  • Index Cond: ((id)::text = 'ff8081814f252c15014f66eee5670286'::text)
6. 9,197.826 1,219,726.543 ↓ 9,955.0 9,955 1

Nested Loop Left Join (cost=1.44..10.24 rows=1 width=43,504) (actual time=83.310..1,219,726.543 rows=9,955 loops=1)

  • Join Filter: ((employerde1_.employer_id)::text = (employer2_.id)::text)
  • Rows Removed by Join Filter: 38147560
7. 20.627 20.627 ↓ 9,955.0 9,955 1

Index Scan using employerdepartment_pkey on employerdepartment employerde1_ (cost=0.25..2.26 rows=1 width=10,513) (actual time=0.010..20.627 rows=9,955 loops=1)

8. 68,589.950 1,210,508.090 ↓ 3,833.0 3,833 9,955

Nested Loop Left Join (cost=1.19..7.96 rows=1 width=32,991) (actual time=0.029..121.598 rows=3,833 loops=9,955)

9. 60,984.330 760,342.990 ↓ 3,833.0 3,833 9,955

Nested Loop Left Join (cost=0.80..5.04 rows=1 width=16,918) (actual time=0.019..76.378 rows=3,833 loops=9,955)

10. 32,841.545 394,098.540 ↓ 3,833.0 3,833 9,955

Nested Loop Left Join (cost=0.53..4.56 rows=1 width=15,068) (actual time=0.011..39.588 rows=3,833 loops=9,955)

11. 17,839.360 17,839.360 ↓ 3,833.0 3,833 9,955

Index Scan using employer_pkey on employer employer2_ (cost=0.25..2.26 rows=1 width=14,273) (actual time=0.002..1.792 rows=3,833 loops=9,955)

12. 343,417.635 343,417.635 ↑ 1.0 1 38,157,515

Index Scan using contactpermission_pkey on contactpermission contactper3_ (cost=0.28..2.29 rows=1 width=795) (actual time=0.009..0.009 rows=1 loops=38,157,515)

  • Index Cond: ((employer2_.contactpermission_id)::text = (id)::text)
13. 305,260.120 305,260.120 ↑ 1.0 1 38,157,515

Index Scan using employercontact_pkey on employercontact employerco4_ (cost=0.27..0.48 rows=1 width=1,850) (actual time=0.008..0.008 rows=1 loops=38,157,515)

  • Index Cond: ((contactper3_.employercontact_id)::text = (id)::text)
14. 38,157.515 381,575.150 ↑ 1.0 1 38,157,515

Nested Loop Left Join (cost=0.39..2.90 rows=1 width=16,073) (actual time=0.010..0.010 rows=1 loops=38,157,515)

15. 343,417.635 343,417.635 ↑ 1.0 1 38,157,515

Index Scan using employer_pkey on employer employer5_ (cost=0.25..0.65 rows=1 width=14,273) (actual time=0.008..0.009 rows=1 loops=38,157,515)

  • Index Cond: ((employerco4_.employer_id)::text = (id)::text)
16. 0.000 0.000 ↓ 0.0 0 38,157,515

Index Scan using licencetype_pkey on licencetype licencetyp6_ (cost=0.14..2.16 rows=1 width=1,800) (actual time=0.000..0.000 rows=0 loops=38,157,515)

  • Index Cond: ((employer5_.licencetype_id)::text = (id)::text)
17. 0.006 0.006 ↓ 0.0 0 1

Index Scan using systemuser_pkey on systemuser systemuser7_ (cost=0.28..1.06 rows=1 width=1,787) (actual time=0.006..0.006 rows=0 loops=1)

  • Index Cond: ((employerco4_.systemuser_id)::text = (id)::text)
18. 0.004 0.004 ↓ 0.0 0 1

Index Only Scan using user_role_pkey on user_role roles8_ (cost=0.41..1.58 rows=49 width=164) (actual time=0.004..0.004 rows=0 loops=1)

  • Index Cond: (user_id = (systemuser7_.id)::text)
  • Heap Fetches: 0
19. 0.004 0.004 ↓ 0.0 0 1

Index Scan using systemrole_pkey on systemrole systemrole9_ (cost=0.14..0.16 rows=1 width=716) (actual time=0.004..0.004 rows=0 loops=1)

  • Index Cond: ((roles8_.role_id)::text = (id)::text)