У меня база данных состоит из 7 таблиц и каждая таблица содержит миллионы записей. Я пытаюсь получить данные из разных таблиц, используя агрегатные функции и предложение JOIN. Я использую MySQL Workbench и phpMyAdmin для выполнения запросов.
Проблема в том, что я не могу получить данные, даже когда я ограничиваю количество записей. Однако, когда я указываю идентификаторы необходимых записей для извлечения, он работает нормально. Например:
select avg(grade)
from TableA
inner join TableB on TableA.ID = TableB.ID limit 5;
Если я использовал вышеупомянутый запрос, MySQL перестанет работать до потери соединения с сервером.
select avg(grade)
from TableA
inner join TableB on TableA.ID = TableB.ID
where TableA.ID = 1 OR TableA.ID = 2 .... to 5
В последнем запросе MySQL вернет требуемый результат.
Я хотел бы оптимизировать эти запросы, если смогу, вместо увеличения времени ожидания сервера.