explain.depesz.com

PostgreSQL's explain analyze made readable

Result: AySz

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

Limit (cost=134,698.01..134,700.26 rows=100 width=32) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Unique (cost=134,698.01..156,614.70 rows=974,075 width=32) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Sort (cost=134,698.01..137,133.20 rows=974,075 width=32) (actual rows= loops=)

  • Sort Key: pos.id, pt.profile_id, ps.profile_id, pa.profile_id, pf.profile_id, pr.profile_id, p.profile_id, p2.user_id
4. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=960.58..14,501.86 rows=974,075 width=32) (actual rows= loops=)

  • Hash Cond: (pos.id = pt.pos_id)
  • Filter: ((pt.profile_id IS NOT NULL) OR (ps.profile_id IS NOT NULL) OR (pf.profile_id IS NOT NULL) OR (pr.profile_id IS NOT NULL) OR (pa.profile_id IS NOT NULL) OR (p.profile_id IS NOT NULL) OR (p2.user_id IS NOT NULL))
5. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=592.55..2,216.36 rows=108,832 width=28) (actual rows= loops=)

  • Hash Cond: (pos.id = pa.pos_id)
6. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=301.46..587.07 rows=15,377 width=24) (actual rows= loops=)

  • Hash Cond: (p.pos_id = pos.id)
7. 0.000 0.000 ↓ 0.0

Seq Scan on pos_kam p (cost=0.00..93.83 rows=6,083 width=8) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Hash (cost=255.01..255.01 rows=3,716 width=20) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=140.57..255.01 rows=3,716 width=20) (actual rows= loops=)

  • Hash Cond: (pf.pos_id = pos.id)
10. 0.000 0.000 ↓ 0.0

Seq Scan on pos_fedam pf (cost=0.00..62.20 rows=4,020 width=8) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Hash (cost=123.58..123.58 rows=1,359 width=16) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=84.79..123.58 rows=1,359 width=16) (actual rows= loops=)

  • Hash Cond: (pos.id = pr.pos_id)
13. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=83.66..117.29 rows=1,359 width=12) (actual rows= loops=)

  • Hash Cond: (pos.id = ps.pos_id)
14. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=70.69..91.73 rows=1,359 width=8) (actual rows= loops=)

  • Hash Cond: (p2.pos_id = pos.id)
15. 0.000 0.000 ↓ 0.0

Seq Scan on "position" p2 (cost=0.00..18.53 rows=953 width=8) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Hash (cost=53.70..53.70 rows=1,359 width=4) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Seq Scan on pos (cost=0.00..53.70 rows=1,359 width=4) (actual rows= loops=)

  • Filter: is_active
18. 0.000 0.000 ↓ 0.0

Hash (cost=7.43..7.43 rows=443 width=8) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Seq Scan on pos_supervisor ps (cost=0.00..7.43 rows=443 width=8) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Hash (cost=1.06..1.06 rows=6 width=8) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Seq Scan on pos_rsm pr (cost=0.00..1.06 rows=6 width=8) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Hash (cost=161.04..161.04 rows=10,404 width=8) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Seq Scan on pos_another_role pa (cost=0.00..161.04 rows=10,404 width=8) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Hash (cost=203.57..203.57 rows=13,157 width=8) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

Seq Scan on pos_tm pt (cost=0.00..203.57 rows=13,157 width=8) (actual rows= loops=)