explain.depesz.com

PostgreSQL's explain analyze made readable

Result: fPWvB

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

Sort (cost=120,758.93..120,758.99 rows=24 width=753) (actual rows= loops=)

  • Sort Key: sxattr.num, sxattr.ouidsxclass
2. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=59,190.85..120,758.38 rows=24 width=753) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Hash Join (cost=59,190.55..120,747.62 rows=24 width=749) (actual rows= loops=)

  • Hash Cond: (sxclass.ouid = sxclassobj.ouid)
4. 0.000 0.000 ↓ 0.0

Gather (cost=5,760.43..67,051.59 rows=70,846 width=753) (actual rows= loops=)

  • Workers Planned: 2
5. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=4,760.43..58,966.99 rows=29,519 width=753) (actual rows= loops=)

  • Hash Cond: (sxattr.ref_class = ref_sxclass.ouid)
6. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=4,387.57..58,430.23 rows=29,519 width=749) (actual rows= loops=)

  • Hash Cond: (sxattr.agrp = sxattr_grp.ouid)
7. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=4,048.23..57,751.77 rows=29,519 width=735) (actual rows= loops=)

  • Hash Cond: (sxattr.viewtype = sxviewtype.ouid)
8. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=4,046.28..57,577.68 rows=29,519 width=703) (actual rows= loops=)

  • Hash Cond: (sxattr.search_mode = sxsearchmode.ouid)
9. 0.000 0.000 ↓ 0.0

Hash Join (cost=4,045.21..57,464.46 rows=29,519 width=699) (actual rows= loops=)

  • Hash Cond: (sxattr.ouidsxclass = sxclass.ouid)
10. 0.000 0.000 ↓ 0.0

Hash Join (cost=3,672.35..56,685.71 rows=29,519 width=695) (actual rows= loops=)

  • Hash Cond: (sxattr.ouiddatatype = sxdatatype.ouid)
11. 0.000 0.000 ↓ 0.0

Hash Join (cost=3,671.03..56,278.51 rows=29,519 width=663) (actual rows= loops=)

  • Hash Cond: (sxobj.ouid = sxattr.ouid)
12. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on sxobj (cost=0.00..48,265.47 rows=1,079,148 width=40) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Hash (cost=2,785.46..2,785.46 rows=70,846 width=627) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Seq Scan on sxattr (cost=0.00..2,785.46 rows=70,846 width=627) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Hash (cost=1.14..1.14 rows=14 width=36) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Seq Scan on sxdatatype (cost=0.00..1.14 rows=14 width=36) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Hash (cost=299.05..299.05 rows=5,905 width=4) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Seq Scan on sxclass (cost=0.00..299.05 rows=5,905 width=4) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Hash (cost=1.03..1.03 rows=3 width=8) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Seq Scan on sxsearchmode (cost=0.00..1.03 rows=3 width=8) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Hash (cost=1.42..1.42 rows=42 width=36) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Seq Scan on sxviewtype (cost=0.00..1.42 rows=42 width=36) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Hash (cost=243.04..243.04 rows=7,704 width=14) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Seq Scan on sxattr_grp (cost=0.00..243.04 rows=7,704 width=14) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

Hash (cost=299.05..299.05 rows=5,905 width=4) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Seq Scan on sxclass ref_sxclass (cost=0.00..299.05 rows=5,905 width=4) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Hash (cost=53,419.16..53,419.16 rows=877 width=4) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Gather (cost=1,015.52..53,419.16 rows=877 width=4) (actual rows= loops=)

  • Workers Planned: 2
29. 0.000 0.000 ↓ 0.0

Hash Join (cost=15.52..52,331.46 rows=365 width=4) (actual rows= loops=)

  • Hash Cond: (sxclassobj.systemclass = sxclasstype.ouid)
30. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on sxobj sxclassobj (cost=0.00..48,265.47 rows=1,079,148 width=8) (actual rows= loops=)

31. 0.000 0.000 ↓ 0.0

Hash (cost=15.50..15.50 rows=2 width=4) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on sxclass sxclasstype (cost=8.02..15.50 rows=2 width=4) (actual rows= loops=)

  • Recheck Cond: ((name = 'SXClass'::citext) OR (name = 'SXVirtualClass'::citext))
33. 0.000 0.000 ↓ 0.0

BitmapOr (cost=8.02..8.02 rows=2 width=0) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on sxclass_name__hash_idx (cost=0.00..4.01 rows=1 width=0) (actual rows= loops=)

  • Index Cond: (name = 'SXClass'::citext)
35. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on sxclass_name__hash_idx (cost=0.00..4.01 rows=1 width=0) (actual rows= loops=)

  • Index Cond: (name = 'SXVirtualClass'::citext)
36. 0.000 0.000 ↓ 0.0

Index Only Scan using pk_sxattr on sxattr ref_sxattr (cost=0.29..0.44 rows=1 width=4) (actual rows= loops=)

  • Index Cond: (ouid = sxattr.ref_attr)