Задать вопрос

Оптимизация запросов mysql?

Имеются следующие таблицы:
matches: id, start_time, tournament_id
teams: id, name, logo
matches_teams: id, match_id, team_id
tournaments: id, name

Сейчас полную инфу о матчах получаю следующим образом:
1. Одним запросом получаю matches.id, matches.start_time, tournaments.name
2. Далее циклом для каждого матча из п1 делаю еще два запроса - для первой команды и для второй.

В итоге получаю примерно такой массив:
match_id
match_start_time
tournament_name
team_A_name
team_A_logo
team_B_name
team_B_logo

И получается, что для получения 20 матчей делается 60 запросов (для получения инфы для одной лишь страницы).
Исходя из этого есть несколько вопросов
1. как можно оптимизировать запросы?
2. что лучше, несколько простых запросов или один сложный?
3. можно ли средствами mysql получать вложенные массивы? чтобы не было $result['team_A_name'], $result['team_A_logo'], а было $result['team_A']['name'], $result['team_A']['logo'] (php). Сейчас делаю это с помощью php, "конфигурируя" новый массив с вложенной структурой
  • Вопрос задан
  • 1176 просмотров
Подписаться 5 9 комментариев
Подписчики вопроса 5 К ответам на вопрос (2)