Я думаю что можно разбить запросы на разные БД, скажем не 3 а 6...
Одна за бой, другая за недвигу и карту, третья за отчеты, четвертая за юзеров и тд
Может конечно это тож как то поможет но думаю если и разделять базы то в основном для того чтоб они на разных серваках стояли тогда нагрузка будет меньше а делать милионы запросов в одну базу на одном компе их вычисляя или те же запросы в разные базы разницы особой нет я так думаю
поглядел видео курсы поучился)
Ну и вот что из этого вышло у меня например
грубо говоря для того чтоб было всё ок над
оптимизировать базу а именно
ОБЩИЕ СОВЕТЫ! Так Как однозначного ответа как оптимизировать нет
Правильная постановка индексов
Обязательно индексируються связи
Индексируються foreign key даж если не поддерживаеться а используеться логически
Созранять все запросы в отдельных файлах чтоб потом их отлаживать
Посмотреть все операторы
WHERE
WHERE LIKE = 'm'
GROUP
ORDER
WHERE LIKE '%m%' не использует индекс
И создать именованые индексы на таблицы по которым идёт выборка
Прогнать все запросы через EXPLAIN
Если possible_key использует индекс то оставляем его иначи удаляем
и желательно превести для начала таблицу во 2-3 нормальную форму
1) Нормальная форма (1NF)
Требования: Атомарность (в одной ячейке только одно значение)
2) Нормальная форма (2NF)
Требования: Быть в первой нормальной форме
У любой таблицы должен быть ключ
Неизбыточность (Создать справочники для сущностей )
(Вынести домены данных из таблицы )
3) Нормальная форма (3NF BCNF)
Требования: Должна быть во второй нормальной форме
Не должно быть внутренних правил в нутри одной таблицы