explain.depesz.com

PostgreSQL's explain analyze made readable

Result: xTSh : Optimization for: Optimization for: Optimization for: plan #dH2c; plan #wPoy; plan #fbBs

Settings

Optimization path:

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 6,625.499 6,657.961 ↑ 1,144.8 441 1

Aggregate (cost=79,653.05..1,370,806.93 rows=504,850 width=102) (actual time=47.539..6,657.961 rows=441 loops=1)

  • Buffers: shared hit=1112498
2. 12.496 32.462 ↑ 27.7 18,250 1

Sort (cost=79,653.05..80,915.18 rows=504,850 width=18) (actual time=28.589..32.462 rows=18,250 loops=1)

  • Sort Key: mtc.leagueid, mtc.roundid, mtc.seasonid, tm.teamid
  • Sort Method: quicksort Memory: 2041kB
  • Buffers: shared hit=8088
3. 2.526 19.966 ↑ 27.7 18,250 1

Nested Loop (cost=0..31,829.88 rows=504,850 width=18) (actual time=0.207..19.966 rows=18,250 loops=1)

  • Buffers: shared hit=8088
4. 0.012 0.160 ↑ 9.0 45 1

Append (cost=0..69.03 rows=404 width=4) (actual time=0.022..0.16 rows=45 loops=1)

  • Buffers: shared hit=12
5. 0.002 0.002 ↓ 0.0 0 1

Seq Scan on teams tm (cost=0..0 rows=1 width=4) (actual time=0.002..0.002 rows=0 loops=1)

  • Filter: (tm.teamid < 250)
6. 0.001 0.001 ↓ 0.0 0 1

Seq Scan on teams tm_1 (cost=0..16.62 rows=177 width=4) (actual time=0.001..0.001 rows=0 loops=1)

  • Filter: (tm_1.teamid < 250)
7. 0.144 0.144 ↑ 1.1 45 1

Seq Scan on teams tm_2 (cost=0..33.76 rows=49 width=4) (actual time=0.016..0.144 rows=45 loops=1)

  • Filter: (tm_2.teamid < 250)
  • Buffers: shared hit=12
8. 0.001 0.001 ↓ 0.0 0 1

Seq Scan on teams tm_3 (cost=0..16.62 rows=177 width=4) (actual time=0.001..0.001 rows=0 loops=1)

  • Filter: (tm_3.teamid < 250)
9. 1.845 17.280 ↓ 1.9 406 45

Append (cost=0..76.48 rows=214 width=22) (actual time=0.089..0.384 rows=406 loops=45)

  • Buffers: shared hit=8076
10. 0.000 0.000 ↓ 0.0 0 45

Seq Scan on matches mtc (cost=0..0 rows=1 width=22) (actual time=0..0 rows=0 loops=45)

  • Filter: ((tm.teamid = mtc.homeid) OR (tm.teamid = mtc.awayid))
11. 0.000 0.000 ↓ 0.0 0 45

Seq Scan on matches mtc_1 (cost=0..28.45 rows=12 width=22) (actual time=0..0 rows=0 loops=45)

  • Filter: ((tm.teamid = mtc_1.homeid) OR (tm.teamid = mtc_1.awayid))
12. 12.555 15.435 ↓ 2.1 406 45

Bitmap Heap Scan on matches mtc_2 (cost=8.01..18.51 rows=189 width=22) (actual time=0.085..0.343 rows=406 loops=45)

  • Buffers: shared hit=8076
13. 0.045 2.880 ↓ 0.0 0 45

BitmapOr (cost=8.01..8.01 rows=189 width=0) (actual time=0.064..0.064 rows=0 loops=45)

  • Buffers: shared hit=855
14. 1.485 1.485 ↓ 2.1 203 45

Bitmap Index Scan on inx_soccer_matches_home_date_cover (cost=0..3.96 rows=95 width=0) (actual time=0.033..0.033 rows=203 loops=45)

  • Index Cond: (tm.teamid = mtc_2.homeid)
  • Buffers: shared hit=427
15. 1.350 1.350 ↓ 2.2 203 45

Bitmap Index Scan on inx_soccer_away_home_date_cover (cost=0..3.95 rows=94 width=0) (actual time=0.03..0.03 rows=203 loops=45)

  • Index Cond: (tm.teamid = mtc_2.awayid)
  • Buffers: shared hit=428
16. 0.000 0.000 ↓ 0.0 0 45

Seq Scan on matches mtc_3 (cost=0..28.45 rows=12 width=22) (actual time=0..0 rows=0 loops=45)

  • Filter: ((tm.teamid = mtc_3.homeid) OR (tm.teamid = mtc_3.awayid))