AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"

Как разгрузить большую базу?

Есть бд на mysql, в ней есть таблица на миллион+ строк, сейчас банальный запрос на селект по 1 параметру отрабатывает более 3 секунд, мы же делаем длинные запросы с join с обращениями к еще ряду таблиц, в результате пользователь ждет загрузки одного модуля по 5-7 секунд.
Подскажите как можно снизить нагрузку и увеличить скорость запросов при условии оптимизированного кода и запросов.
Можно просто ссылки на статьи (поискал, не нашел).
  • Вопрос задан
  • 200 просмотров
Решения вопроса 1
Есть индексы по параметрам выборки?
Такое время для простого селекта на относительно небольших данных показывает что скорее всего нет.

Что выдает explain запроса?
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
это чисто примерный запрос, но т.к. я в sql полный профан, прошу объяснить что в нем неверного.

Подскажите как можно снизить нагрузку и увеличить скорость запросов при условии оптимизированного кода и запросов.
При условии оптимизированного кода и запросов нагрузка будет примерно никакой, так как у вас они судя по представленному explain ооочень далеки от "оптимизированных".
Ответ написан
Комментировать
@immelnikoff
Изучаю БД
Характер нагрузки на БД какой (чтение/запись)?
Все ли поля имеют наименьший достаточный тип данных?
Установлен ли не сервере минимальный достаточный уровень изолированности транзакций?
Оптимизированы ли запросы по "жадности"?
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
В общем случае создайте индексы на проблемных местах, оптимизируйте / деоптимизируйте БД, реорганизуйте запрос

https://dev.mysql.com/doc/refman/8.0/en/explain-ou...
https://habr.com/ru/post/211022/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы