explain.depesz.com

PostgreSQL's explain analyze made readable

Result: ky1e : temp table less orphans insert

Settings
# exclusive inclusive rows x rows loops node
1. 3,699.596 3,699.596 ↑ 898,321.0 122,513 1

CTE Scan on live_paths (cost=8,360,215,917.57..10,561,335,927.58 rows=110,056,000,500 width=32) (actual time=0.559..3,699.596 rows=122,513 loops=1)

2.          

CTE live_paths

3. 791.477 3,639.433 ↑ 898,321.0 122,513 1

Recursive Union (cost=0.00..8,360,215,917.57 rows=110,056,000,500 width=64) (actual time=0.553..3,639.433 rows=122,513 loops=1)

4. 1,979.165 1,979.165 ↓ 1.0 1,032,338 1

Seq Scan on factsets (cost=0.00..7,902.58 rows=1,000,500 width=64) (actual time=0.546..1,979.165 rows=1,032,338 loops=1)

5. 236.701 868.791 ↑ 1,681,255.7 6,546 11

Nested Loop (cost=23.04..615,907,800.00 rows=11,005,500,000 width=64) (actual time=0.056..78.981 rows=6,546 loops=11)

6. 19.525 19.525 ↑ 898.3 11,138 11

WorkTable Scan on live_paths live_paths_1 (cost=0.00..200,100.00 rows=10,005,000 width=64) (actual time=0.000..1.775 rows=11,138 loops=11)

7. 367.539 612.565 ↑ 1,100.0 1 122,513

HashAggregate (cost=23.04..34.04 rows=1,100 width=64) (actual time=0.005..0.005 rows=1 loops=122,513)

  • Group Key: ((jsonb_each(live_paths_1.value)).key), ((jsonb_each(live_paths_1.value)).value)
8. 0.000 245.026 ↑ 1,100.0 1 122,513

Append (cost=0.01..17.54 rows=1,100 width=64) (actual time=0.002..0.002 rows=1 loops=122,513)

9. 245.026 245.026 ↑ 100.0 1 122,513

Result (cost=0.01..0.52 rows=100 width=64) (actual time=0.002..0.002 rows=1 loops=122,513)

  • One-Time Filter: (jsonb_typeof(live_paths_1.value) = 'object'::text)
10. 0.000 0.000 ↓ 0.0 0 122,513

Result (cost=0.01..5.03 rows=1,000 width=64) (actual time=0.000..0.000 rows=0 loops=122,513)

  • One-Time Filter: (jsonb_typeof(live_paths_1.value) = 'array'::text)