explain.depesz.com

PostgreSQL's explain analyze made readable

Result: ERDJ

Settings
# exclusive inclusive rows x rows loops node
1. 1,873.628 1,873.628 ↑ 919,348.9 38,396 1

CTE Scan on live_paths (cost=2,681,452,251.63..3,387,438,669.63 rows=35,299,320,900 width=32) (actual time=0.631..1,873.628 rows=38,396 loops=1)

2.          

CTE live_paths

3. 407.338 1,831.001 ↑ 919,348.9 38,396 1

Recursive Union (cost=0.00..2,681,452,251.63 rows=35,299,320,900 width=64) (actual time=0.623..1,831.001 rows=38,396 loops=1)

4. 994.509 994.509 ↑ 1.0 316,933 1

Seq Scan on factsets (cost=0.00..2,224.64 rows=320,900 width=64) (actual time=0.615..994.509 rows=316,933 loops=1)

5. 77.584 429.154 ↑ 1,711,881.7 2,062 11

Nested Loop (cost=23.04..197,546,040.00 rows=3,529,900,000 width=64) (actual time=0.074..39.014 rows=2,062 loops=11)

6. 6.006 6.006 ↑ 919.2 3,491 11

WorkTable Scan on live_paths live_paths_1 (cost=0.00..64,180.00 rows=3,209,000 width=64) (actual time=0.000..0.546 rows=3,491 loops=11)

7. 191.980 345.564 ↑ 1,100.0 1 38,396

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

  • Group Key: ((jsonb_each(live_paths_1.value)).key), ((jsonb_each(live_paths_1.value)).value)
8. 38.396 153.584 ↑ 1,100.0 1 38,396

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

9. 115.188 115.188 ↑ 100.0 1 38,396

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

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

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

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