explain.depesz.com

PostgreSQL's explain analyze made readable

Result: hlFg

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

Hash Join (cost=619,652.65..1,629,232.09 rows=13,257,373 width=244) (actual rows= loops=)

  • Hash Cond: (si.source_id = src.id)
2. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=619,651.49..1,573,360.58 rows=13,257,373 width=235) (actual rows= loops=)

  • Hash Cond: (ff.enrolled_face_id = ef.id)
3. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=619,622.86..1,519,551.21 rows=13,257,373 width=129) (actual rows= loops=)

  • Hash Cond: (ff.source_image_id = si.id)
4. 0.000 0.000 ↓ 0.0

Seq Scan on found_face ff (cost=0.00..394,466.73 rows=13,257,373 width=88) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Hash (cost=385,619.94..385,619.94 rows=10,067,994 width=57) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Seq Scan on source_image si (cost=0.00..385,619.94 rows=10,067,994 width=57) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Hash (cost=23.84..23.84 rows=383 width=122) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=4.97..23.84 rows=383 width=122) (actual rows= loops=)

  • Hash Cond: (ef.person_id = p.id)
9. 0.000 0.000 ↓ 0.0

Seq Scan on enrolled_face ef (cost=0.00..17.83 rows=383 width=108) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Hash (cost=3.32..3.32 rows=132 width=30) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Seq Scan on person p (cost=0.00..3.32 rows=132 width=30) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Hash (cost=1.07..1.07 rows=7 width=25) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Seq Scan on source src (cost=0.00..1.07 rows=7 width=25) (actual rows= loops=)