explain.depesz.com

PostgreSQL's explain analyze made readable

Result: E4W3

Settings
# exclusive inclusive rows x rows loops node
1. 3,957.810 3,957.810 ↓ 471.2 47,592 1

CTE Scan on t (cost=68.32..70.34 rows=101 width=1,672) (actual time=0.121..3,957.810 rows=47,592 loops=1)

2.          

CTE t

3. 672.366 3,480.404 ↓ 471.2 47,592 1

Recursive Union (cost=0.42..68.32 rows=101 width=108) (actual time=0.111..3,480.404 rows=47,592 loops=1)

4. 0.010 0.110 ↑ 1.0 1 1

Limit (cost=0.42..0.54 rows=1 width=108) (actual time=0.103..0.110 rows=1 loops=1)

5. 0.100 0.100 ↑ 227,417.0 1 1

Index Scan Backward using pingdata_pkey on pingdata (cost=0.42..28,224.69 rows=227,417 width=108) (actual time=0.096..0.100 rows=1 loops=1)

6. 999.432 2,807.928 ↑ 10.0 1 47,592

Nested Loop (cost=0.42..6.58 rows=10 width=108) (actual time=0.043..0.059 rows=1 loops=47,592)

7. 333.144 333.144 ↑ 10.0 1 47,592

WorkTable Scan on t t_1 (cost=0.00..0.20 rows=10 width=1,556) (actual time=0.003..0.007 rows=1 loops=47,592)

8. 571.104 1,475.352 ↑ 1.0 1 47,592

Limit (cost=0.42..0.62 rows=1 width=108) (actual time=0.028..0.031 rows=1 loops=47,592)

9. 904.248 904.248 ↑ 75,806.0 1 47,592

Index Scan Backward using pingdata_pkey on pingdata dd (cost=0.42..14,980.26 rows=75,806 width=108) (actual time=0.019..0.019 rows=1 loops=47,592)

  • Index Cond: (ROW(starttime, (pinghost)::text, (target)::text, (proto)::text) < ROW(t_1.starttime, (t_1.pinghost)::text, (t_1.target)::text, (t_1.proto)::text))
Planning time : 2.545 ms
Execution time : 4,139.499 ms