explain.depesz.com

PostgreSQL's explain analyze made readable

Result: FKol

Settings
# exclusive inclusive rows x rows loops node
1. 237.557 770.359 ↑ 1.3 147,508 1

Gather (cost=7,033.11..162,863.58 rows=195,405 width=516) (actual time=146.060..770.359 rows=147,508 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
2. 272.356 532.802 ↑ 1.7 49,169 3

Nested Loop (cost=6,033.11..142,323.08 rows=81,419 width=516) (actual time=113.011..532.802 rows=49,169 loops=3)

3. 17.925 260.443 ↑ 1.2 89,980 3

Hash Join (cost=6,032.68..53,181.70 rows=111,903 width=520) (actual time=31.478..260.443 rows=89,980 loops=3)

  • Hash Cond: (roadworkrequest.roadworkstatustypeid = roadworkstatustype.id)
4. 19.246 242.340 ↑ 1.2 89,980 3

Hash Join (cost=6,031.16..51,810.59 rows=111,903 width=406) (actual time=30.647..242.340 rows=89,980 loops=3)

  • Hash Cond: (roadworkrequest.worktypeid = worktype.id)
5. 21.767 218.416 ↑ 1.2 89,980 3

Hash Join (cost=6,030.07..50,644.72 rows=111,903 width=264) (actual time=25.958..218.416 rows=89,980 loops=3)

  • Hash Cond: (roadworkrequest.roadworkrequestownerorganisationid = organisation_owner.id)
6. 37.834 186.433 ↑ 1.2 89,980 3

Hash Join (cost=5,646.28..48,848.31 rows=111,903 width=239) (actual time=15.711..186.433 rows=89,980 loops=3)

  • Hash Cond: (roadworkrequest.roadworkrequestpsmorganisationid = organisation_psm.id)
7. 116.891 143.884 ↑ 1.2 89,980 3

Parallel Bitmap Heap Scan on roadworkrequest (cost=4,940.49..46,603.86 rows=111,903 width=226) (actual time=10.954..143.884 rows=89,980 loops=3)

  • Recheck Cond: (roadworkrequestpsmorganisationid = ANY ('{1792,1793,1655,1656,250,249,251,243,244,248,247,246,245,1034,1035,1036,1033,254,231,240,239,241,242}'::integer[]))
  • Filter: (roadworkstatustypeid <> ALL ('{2,3,11,14}'::integer[]))
  • Rows Removed by Filter: 5443
  • Heap Blocks: exact=15650
8. 26.993 26.993 ↓ 1.0 286,270 1

Bitmap Index Scan on ix_roadworkrequest_roadworkrequestpsmorganisationid (cost=0.00..4,873.35 rows=281,547 width=0) (actual time=26.993..26.993 rows=286,270 loops=1)

  • Index Cond: (roadworkrequestpsmorganisationid = ANY ('{1792,1793,1655,1656,250,249,251,243,244,248,247,246,245,1034,1035,1036,1033,254,231,240,239,241,242}'::integer[]))
9. 1.065 4.715 ↑ 1.0 6,123 3

Hash (cost=629.24..629.24 rows=6,124 width=33) (actual time=4.715..4.715 rows=6,123 loops=3)

  • Buckets: 8192 Batches: 1 Memory Usage: 463kB
10. 1.697 3.650 ↑ 1.0 6,123 3

Hash Join (cost=244.69..629.24 rows=6,124 width=33) (actual time=1.544..3.650 rows=6,123 loops=3)

  • Hash Cond: (organisation_psm.parentid = parentorg.id)
11. 0.449 0.449 ↑ 1.0 6,124 3

Seq Scan on organisation organisation_psm (cost=0.00..307.24 rows=6,124 width=37) (actual time=0.009..0.449 rows=6,124 loops=3)

12. 0.676 1.504 ↑ 1.0 6,124 3

Hash (cost=168.14..168.14 rows=6,124 width=4) (actual time=1.504..1.504 rows=6,124 loops=3)

  • Buckets: 8192 Batches: 1 Memory Usage: 280kB
13. 0.828 0.828 ↑ 1.0 6,124 3

Index Only Scan using pk_organisation on organisation parentorg (cost=0.28..168.14 rows=6,124 width=4) (actual time=0.284..0.828 rows=6,124 loops=3)

  • Heap Fetches: 0
14. 1.043 10.216 ↑ 1.0 6,124 3

Hash (cost=307.24..307.24 rows=6,124 width=33) (actual time=10.216..10.216 rows=6,124 loops=3)

  • Buckets: 8192 Batches: 1 Memory Usage: 463kB
15. 9.173 9.173 ↑ 1.0 6,124 3

Seq Scan on organisation organisation_owner (cost=0.00..307.24 rows=6,124 width=33) (actual time=7.422..9.173 rows=6,124 loops=3)

16. 0.011 4.678 ↑ 1.0 4 3

Hash (cost=1.04..1.04 rows=4 width=150) (actual time=4.678..4.678 rows=4 loops=3)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
17. 4.667 4.667 ↑ 1.0 4 3

Seq Scan on worktype (cost=0.00..1.04 rows=4 width=150) (actual time=4.666..4.667 rows=4 loops=3)

18. 0.010 0.178 ↑ 1.0 23 3

Hash (cost=1.23..1.23 rows=23 width=122) (actual time=0.178..0.178 rows=23 loops=3)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
19. 0.168 0.168 ↑ 1.0 23 3

Seq Scan on roadworkstatustype (cost=0.00..1.23 rows=23 width=122) (actual time=0.164..0.168 rows=23 loops=3)

20. 0.003 0.003 ↑ 1.0 1 269,941

Index Scan using pk_roadworkrequestdates on roadworkrequestdates roadworkrequestdates_planned (cost=0.43..0.80 rows=1 width=4) (actual time=0.003..0.003 rows=1 loops=269,941)

  • Index Cond: (id = roadworkrequest.plannedroadworkrequestdatesid)
  • Filter: (startdate >= '2014-01-01 00:00:00'::timestamp without time zone)
  • Rows Removed by Filter: 0