explain.depesz.com

PostgreSQL's explain analyze made readable

Result: lqvU

Settings
# exclusive inclusive rows x rows loops node
1. 4,080.966 4,080.966 ↑ 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.323..4,080.966 rows=148,620 loops=1)

2.          

CTE live_paths

3. 830.063 4,003.980 ↑ 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.319..4,003.980 rows=148,620 loops=1)

4. 1,985.158 1,985.158 ↓ 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.313..1,985.158 rows=1,025,789 loops=1)

5. 297.039 1,188.759 ↑ 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.210..108.069 rows=8,580 loops=11)

  • -> WorkTable Scan on live_paths live_paths_1 (cost=0.00..200640.00 rows=10032000 width=64) (actual time=0.000..2.193 rows=13511 lo
6. 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)
7. 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)

8. 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)
9. 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)