explain.depesz.com

PostgreSQL's explain analyze made readable

Result: jGJU

Settings
# exclusive inclusive rows x rows loops node
1. 0.021 0.241 ↓ 0.0 0 1

Sort (cost=610.60..610.60 rows=1 width=28) (actual time=0.232..0.241 rows=0 loops=1)

  • Sort Key: g_oc.date_g, g_oc.id_t_g, g_oc.id_r_g
  • Sort Method: quicksort Memory: 25kB
2. 0.020 0.220 ↓ 0.0 0 1

Nested Loop (cost=12.14..610.59 rows=1 width=28) (actual time=0.210..0.220 rows=0 loops=1)

3. 0.019 0.200 ↓ 0.0 0 1

Nested Loop (cost=11.99..610.34 rows=1 width=122) (actual time=0.191..0.200 rows=0 loops=1)

4. 0.019 0.181 ↓ 0.0 0 1

Nested Loop (cost=11.84..610.18 rows=1 width=24) (actual time=0.172..0.181 rows=0 loops=1)

5. 0.018 0.162 ↓ 0.0 0 1

Nested Loop (cost=11.84..610.12 rows=1 width=44) (actual time=0.153..0.162 rows=0 loops=1)

6. 0.016 0.144 ↓ 0.0 0 1

Nested Loop (cost=11.84..610.07 rows=1 width=64) (actual time=0.135..0.144 rows=0 loops=1)

7. 0.022 0.128 ↓ 0.0 0 1

Nested Loop (cost=11.54..609.74 rows=1 width=44) (actual time=0.116..0.128 rows=0 loops=1)

8. 0.019 0.106 ↓ 0.0 0 1

Nested Loop (cost=11.25..609.09 rows=2 width=24) (actual time=0.097..0.106 rows=0 loops=1)

9. 0.019 0.087 ↓ 0.0 0 1

Hash Join (cost=11.25..605.36 rows=1 width=8) (actual time=0.078..0.087 rows=0 loops=1)

  • Hash Cond: (((t_oc.name_t)::text = (t_master.name)::text) AND (t_oc.date_t = t_master.start_date))
10. 0.029 0.029 ↑ 15,614.0 1 1

Seq Scan on tours_atp t_oc (cost=0.00..512.14 rows=15,614 width=28) (actual time=0.019..0.029 rows=1 loops=1)

11. 0.019 0.039 ↓ 0.0 0 1

Hash (cost=10.50..10.50 rows=50 width=524) (actual time=0.030..0.039 rows=0 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 8kB
12. 0.020 0.020 ↓ 0.0 0 1

Seq Scan on tournament_atp t_master (cost=0.00..10.50 rows=50 width=524) (actual time=0.011..0.020 rows=0 loops=1)

13. 0.000 0.000 ↓ 0.0 0

Index Scan using idx_oc_games_atp_id_t_g on games_atp g_oc (cost=0.00..3.50 rows=23 width=20) (never executed)

  • Index Cond: (id_t_g = t_oc.id_t)
  • Filter: (date_g IS NOT NULL)
14. 0.000 0.000 ↓ 0.0 0

Index Scan using players_atp_pkey on players_atp p1_oc (cost=0.29..0.33 rows=1 width=28) (never executed)

  • Index Cond: (id_p = g_oc.id1_g)
  • Filter: ((name_p)::text !~~ '%/%'::text)
15. 0.000 0.000 ↓ 0.0 0

Index Scan using players_atp_pkey on players_atp p2_oc (cost=0.29..0.33 rows=1 width=28) (never executed)

  • Index Cond: (id_p = g_oc.id2_g)
  • Filter: ((name_p)::text !~~ '%/%'::text)
16. 0.000 0.000 ↓ 0.0 0

Index Scan using idx_master_lower_player_name_atp on player_atp p1_master (cost=0.00..0.04 rows=1 width=520) (never executed)

  • Index Cond: (lower((name)::text) = lower((p1_oc.name_p)::text))
17. 0.000 0.000 ↓ 0.0 0

Index Scan using idx_master_lower_player_name_atp on player_atp p2_master (cost=0.00..0.04 rows=1 width=520) (never executed)

  • Index Cond: (lower((name)::text) = lower((p2_oc.name_p)::text))
18. 0.000 0.000 ↓ 0.0 0

Index Scan using rounds_pkey on rounds r_oc (cost=0.15..0.17 rows=1 width=102) (never executed)

  • Index Cond: (id_r = g_oc.id_r_g)
19. 0.000 0.000 ↓ 0.0 0

Index Scan using rounds_name_key on rounds r_master (cost=0.15..0.24 rows=1 width=102) (never executed)

  • Index Cond: ((name)::text = (r_oc.name_r)::text)
Planning time : 3.003 ms
Execution time : 0.564 ms