explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Lddm

Settings
# exclusive inclusive rows x rows loops node
1. 14.400 98.752 ↓ 18.9 27,456 1

Hash Join (cost=4,276.27..11,851.11 rows=1,453 width=106) (actual time=50.650..98.752 rows=27,456 loops=1)

  • Hash Cond: ((schds.schedule_id = rs.schedule_id) AND (((row_number() OVER (?) + 1)) = rs.idx))
2. 19.307 33.833 ↑ 1.0 32,045 1

WindowAgg (cost=0.29..3,554.97 rows=32,045 width=127) (actual time=0.077..33.833 rows=32,045 loops=1)

3. 14.526 14.526 ↑ 1.0 32,045 1

Index Scan using schedule_stop_idx1 on schedule_stop schds (cost=0.29..2,914.07 rows=32,045 width=51) (actual time=0.066..14.526 rows=32,045 loops=1)

4. 9.751 50.519 ↑ 1.0 32,045 1

Hash (cost=3,795.31..3,795.31 rows=32,045 width=75) (actual time=50.519..50.519 rows=32,045 loops=1)

  • Buckets: 32768 Batches: 1 Memory Usage: 3953kB
5. 4.732 40.768 ↑ 1.0 32,045 1

Subquery Scan on rs (cost=0.29..3,795.31 rows=32,045 width=75) (actual time=0.011..40.768 rows=32,045 loops=1)

  • Filter: (rs.schedule_stop_id IS NOT NULL)
6. 21.674 36.036 ↑ 1.0 32,045 1

WindowAgg (cost=0.29..3,474.86 rows=32,045 width=75) (actual time=0.010..36.036 rows=32,045 loops=1)

7. 14.362 14.362 ↑ 1.0 32,045 1

Index Scan using schedule_stop_idx1 on schedule_stop schds_1 (cost=0.29..2,914.07 rows=32,045 width=67) (actual time=0.006..14.362 rows=32,045 loops=1)

Planning time : 0.350 ms
Execution time : 100.035 ms