explain.depesz.com

PostgreSQL's explain analyze made readable

Result: tHax : Optimization for: App_List; plan #OCbw

Settings

Optimization path:

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

WindowAgg (cost=4,227,001.73..4,227,004.41 rows=153 width=413) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Sort (cost=4,227,001.73..4,227,002.11 rows=153 width=342) (actual rows= loops=)

  • Sort Key: application.application_id
3. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=4,063,191.97..4,226,996.18 rows=153 width=342) (actual rows= loops=)

  • Group Key: application.id
4. 0.000 0.000 ↓ 0.0

Sort (cost=4,063,191.97..4,081,391.97 rows=7,280,000 width=242) (actual rows= loops=)

  • Sort Key: application.id
5. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=118,280.27..695,386.02 rows=7,280,000 width=242) (actual rows= loops=)

  • Hash Cond: ((application.application_id)::text = (s.application_id)::text)
6. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=118,259.03..258,564.77 rows=7,280,000 width=232) (actual rows= loops=)

  • Hash Cond: (pars.id = par.spatial_unit_id)
7. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=117,742.05..238,926.18 rows=7,280,000 width=239) (actual rows= loops=)

  • Hash Cond: (tsp.spatial_unit = pars.id)
8. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=117,395.54..219,458.07 rows=7,280,000 width=239) (actual rows= loops=)

  • Hash Cond: (app_s.app_service_id = application.id)
9. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=34.38..56.09 rows=728 width=46) (actual rows= loops=)

  • Hash Cond: (app_r.app_service_rrr_id = app_s.id)
10. 0.000 0.000 ↓ 0.0

Seq Scan on app_service_rrr app_r (cost=0.00..20.10 rows=610 width=26) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Hash (cost=25.28..25.28 rows=728 width=52) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Seq Scan on app_service app_s (cost=0.00..25.28 rows=728 width=52) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Hash (cost=53,411.16..53,411.16 rows=1,530,000 width=209) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=1,244.75..53,411.16 rows=1,530,000 width=209) (actual rows= loops=)

  • Hash Cond: (t.title_id = (ba_unit.title_id)::text)
15. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=634.75..31,763.66 rows=1,530,000 width=216) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=634.75..1,163.65 rows=15,300 width=207) (actual rows= loops=)

  • Hash Cond: (p.parity_id = (party.party_id)::text)
17. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.01..318.53 rows=15,300 width=173) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Seq Scan on application (cost=0.00..12.53 rows=153 width=236) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Function Scan on unnest p (cost=0.01..1.00 rows=100 width=32) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Hash (cost=548.22..548.22 rows=6,922 width=75) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Seq Scan on party (cost=0.00..548.22 rows=6,922 width=75) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Function Scan on unnest t (cost=0.01..1.00 rows=100 width=32) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Hash (cost=523.11..523.11 rows=6,951 width=25) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=348.40..523.11 rows=6,951 width=25) (actual rows= loops=)

  • Hash Cond: (tsp.baunit_id = ba_unit.id)
25. 0.000 0.000 ↓ 0.0

Seq Scan on ba_unit_spatial_unit tsp (cost=0.00..156.05 rows=7,105 width=32) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Hash (cost=261.51..261.51 rows=6,951 width=25) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Seq Scan on ba_unit (cost=0.00..261.51 rows=6,951 width=25) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Hash (cost=259.56..259.56 rows=6,956 width=16) (actual rows= loops=)

29. 0.000 0.000 ↓ 0.0

Seq Scan on spatial_unit pars (cost=0.00..259.56 rows=6,956 width=16) (actual rows= loops=)

30. 0.000 0.000 ↓ 0.0

Hash (cost=429.77..429.77 rows=6,977 width=25) (actual rows= loops=)

31. 0.000 0.000 ↓ 0.0

Seq Scan on cadastre_object par (cost=0.00..429.77 rows=6,977 width=25) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Hash (cost=15.55..15.55 rows=455 width=526) (actual rows= loops=)

33. 0.000 0.000 ↓ 0.0

Seq Scan on source s (cost=0.00..15.55 rows=455 width=526) (actual rows= loops=)