explain.depesz.com

PostgreSQL's explain analyze made readable

Result: OsES

Settings
# exclusive inclusive rows x rows loops node
1. 18.363 320.799 ↑ 1.3 152 1

HashAggregate (cost=3,850.10..3,852.10 rows=200 width=8) (actual time=320.747..320.799 rows=152 loops=1)

  • Group Key: dependency_tree.subprocedure_id
2.          

CTE dependency_tree

3. 34.914 241.409 ↓ 101.1 46,817 1

Recursive Union (cost=0.00..3,839.68 rows=463 width=41) (actual time=0.384..241.409 rows=46,817 loops=1)

4. 1.245 1.245 ↓ 1.7 5 1

Seq Scan on procedure_used_procedures p (cost=0.00..333.09 rows=3 width=41) (actual time=0.381..1.245 rows=5 loops=1)

  • Filter: (procedure_id = 1510524)
  • Rows Removed by Filter: 11762
5. 107.800 205.250 ↓ 40.7 1,872 25

Hash Join (cost=0.79..349.73 rows=46 width=41) (actual time=1.559..8.210 rows=1,872 loops=25)

  • Hash Cond: (p_1.procedure_id = dt.subprocedure_id)
6. 68.850 68.850 ↑ 1.0 11,767 25

Seq Scan on procedure_used_procedures p_1 (cost=0.00..303.67 rows=11,767 width=16) (actual time=0.003..2.754 rows=11,767 loops=25)

7. 14.975 28.600 ↓ 123.3 1,850 25

Hash (cost=0.60..0.60 rows=15 width=40) (actual time=1.144..1.144 rows=1,850 loops=25)

  • Buckets: 1024 Batches: 1 Memory Usage: 12kB
8. 13.625 13.625 ↓ 123.3 1,850 25

WorkTable Scan on dependency_tree dt (cost=0.00..0.60 rows=15 width=40) (actual time=0.001..0.545 rows=1,850 loops=25)

  • Filter: (NOT cycle)
  • Rows Removed by Filter: 23
9. 302.436 302.436 ↓ 101.1 46,817 1

CTE Scan on dependency_tree (cost=0.00..9.26 rows=463 width=8) (actual time=0.386..302.436 rows=46,817 loops=1)