explain.depesz.com

PostgreSQL's explain analyze made readable

Result: arEA : temp table

Settings
# exclusive inclusive rows x rows loops node
1. 4,073.076 4,073.076 ↑ 742,517.9 148,620 1

CTE Scan on live_paths (cost=8,382,776,058.48..10,589,836,122.48 rows=110,353,003,200 width=32) (actual time=0.331..4,073.076 rows=148,620 loops=1)

2.          

CTE live_paths

3. 815.232 3,994.802 ↑ 742,517.9 148,620 1

Recursive Union (cost=0.00..8,382,776,058.48 rows=110,353,003,200 width=64) (actual time=0.326..3,994.802 rows=148,620 loops=1)

4. 1,995.255 1,995.255 ↓ 1.0 1,025,789 1

Seq Scan on factsets (cost=0.00..6,762.48 rows=1,003,200 width=64) (actual time=0.318..1,995.255 rows=1,025,789 loops=1)

5. 270.199 1,184.315 ↑ 1,286,153.8 8,580 11

Nested Loop (cost=23.04..617,569,920.00 rows=11,035,200,000 width=64) (actual time=0.207..107.665 rows=8,580 loops=11)

6. 22.396 22.396 ↑ 742.5 13,511 11

WorkTable Scan on live_paths live_paths_1 (cost=0.00..200,640.00 rows=10,032,000 width=64) (actual time=0.000..2.036 rows=13,511 loops=11)

7. 445.860 891.720 ↑ 1,100.0 1 148,620

HashAggregate (cost=23.04..34.04 rows=1,100 width=64) (actual time=0.006..0.006 rows=1 loops=148,620)

  • Group Key: ((jsonb_each(live_paths_1.value)).key), ((jsonb_each(live_paths_1.value)).value)
8. 0.000 445.860 ↑ 1,100.0 1 148,620

Append (cost=0.01..17.54 rows=1,100 width=64) (actual time=0.003..0.003 rows=1 loops=148,620)

9. 445.860 445.860 ↑ 100.0 1 148,620

Result (cost=0.01..0.52 rows=100 width=64) (actual time=0.002..0.003 rows=1 loops=148,620)

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

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

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