explain.depesz.com

PostgreSQL's explain analyze made readable

Result: I7tQ

Settings
# exclusive inclusive rows x rows loops node
1. 51.748 51.748 ↑ 700,643.3 1,256 1

CTE Scan on live_paths (cost=66,848,308.20..84,448,468.20 rows=880,008,000 width=32) (actual time=0.581..51.748 rows=1,256 loops=1)

2.          

CTE live_paths

3. 10.869 50.664 ↑ 700,643.3 1,256 1

Recursive Union (cost=0.00..66,848,308.20 rows=880,008,000 width=64) (actual time=0.574..50.664 rows=1,256 loops=1)

4. 26.697 26.697 ↓ 1.0 8,257 1

Seq Scan on factsets (cost=0.00..68.20 rows=8,000 width=64) (actual time=0.568..26.697 rows=8,257 loops=1)

5. 2.903 13.098 ↑ 384,279.5 229 3

Nested Loop (cost=23.04..4,924,800.00 rows=88,000,000 width=64) (actual time=0.175..4.366 rows=229 loops=3)

6. 0.147 0.147 ↑ 190.9 419 3

WorkTable Scan on live_paths live_paths_1 (cost=0.00..1,600.00 rows=80,000 width=64) (actual time=0.001..0.049 rows=419 loops=3)

7. 6.280 10.048 ↑ 1,100.0 1 1,256

HashAggregate (cost=23.04..34.04 rows=1,100 width=64) (actual time=0.008..0.008 rows=1 loops=1,256)

  • Group Key: ((jsonb_each(live_paths_1.value)).key), ((jsonb_each(live_paths_1.value)).value)
8. 1.256 3.768 ↑ 1,100.0 1 1,256

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

9. 2.512 2.512 ↑ 100.0 1 1,256

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

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

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

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