explain.depesz.com

PostgreSQL's explain analyze made readable

Result: N3dVS

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

Hash Join (cost=9,939.46..10,017.17 rows=1,636 width=321) (actual rows= loops=)

  • Hash Cond: ((max(processes_1.process_id)) = processes.process_id)
2. 0.000 0.000 ↓ 0.0

Unique (cost=5,444.78..5,473.41 rows=1,636 width=305) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Sort (cost=5,444.78..5,448.87 rows=1,636 width=305) (actual rows= loops=)

  • Sort Key: pipeline_stage.display_name, pipelines.display_name, pipelines.pipeline_id, (count(pipelines.pipeline_id)), (max(processes_1.process_id)), pipelines.pipeline_stage_id
4. 0.000 0.000 ↓ 0.0

HashAggregate (cost=5,341.09..5,357.45 rows=1,636 width=305) (actual rows= loops=)

  • Group Key: pipelines.pipeline_id, pipeline_stage.pipeline_stage_id
5. 0.000 0.000 ↓ 0.0

Hash Join (cost=4,894.72..5,324.73 rows=1,636 width=305) (actual rows= loops=)

  • Hash Cond: (process_fields.field_id = fields.field_id)
6. 0.000 0.000 ↓ 0.0

Hash Join (cost=4,887.46..5,294.97 rows=1,636 width=309) (actual rows= loops=)

  • Hash Cond: (process_fields.process_id = processes_1.process_id)
7. 0.000 0.000 ↓ 0.0

Seq Scan on process_fields (cost=0.00..318.02 rows=19,502 width=8) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Hash (cost=4,873.63..4,873.63 rows=1,106 width=309) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Hash Join (cost=4,621.42..4,873.63 rows=1,106 width=309) (actual rows= loops=)

  • Hash Cond: (process_pipeline.pipeline_id = pipelines.pipeline_id)
10. 0.000 0.000 ↓ 0.0

Hash Join (cost=4,396.24..4,631.04 rows=1,695 width=12) (actual rows= loops=)

  • Hash Cond: (process_pipeline.process_id = processes_1.process_id)
11. 0.000 0.000 ↓ 0.0

Seq Scan on process_pipeline (cost=0.00..165.60 rows=8,360 width=8) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Hash (cost=4,362.82..4,362.82 rows=2,673 width=4) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Seq Scan on processes processes_1 (cost=0.00..4,362.82 rows=2,673 width=4) (actual rows= loops=)

  • Filter: ((NOT flag_removed) AND ((instance)::text = 'testing'::text))
14. 0.000 0.000 ↓ 0.0

Hash (cost=224.22..224.22 rows=77 width=301) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Hash Join (cost=13.82..224.22 rows=77 width=301) (actual rows= loops=)

  • Hash Cond: (pipelines.pipeline_stage_id = pipeline_stage.pipeline_stage_id)
16. 0.000 0.000 ↓ 0.0

Seq Scan on pipelines (cost=0.00..209.18 rows=118 width=23) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Hash (cost=11.70..11.70 rows=170 width=278) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Seq Scan on pipeline_stage (cost=0.00..11.70 rows=170 width=278) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Hash (cost=6.56..6.56 rows=56 width=4) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Seq Scan on fields (cost=0.00..6.56 rows=56 width=4) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Hash (cost=4,329.86..4,329.86 rows=13,186 width=20) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Seq Scan on processes (cost=0.00..4,329.86 rows=13,186 width=20) (actual rows= loops=)