Задать вопрос
@alexdora
Топ-менеджер

Как можно оптимизировать тут?

Есть таблица MYSQL InnoDB
7ed751f0a56d425bafaa4541ebbc22e6.png
Сейчас в таблице всего ~7500 и таблица растет на скорости 2 записи в минуту. Через пару часов скорость вырастит на 8 в минуту. Или 11500 в сутки. Вроде все похоже на детский сад, но:
1. База имеет среднее 300 запросов / sec
2. Остальные запросы сложнее и не вызывают никакого оверхеда. Притом остальные приложения только записывают в эту таблицу сложную обработку
3. Чтобы отобразить статистику создается JSON для графика двумя запросами:
$get_topstat = $_core->sql->prepare("SELECT * FROM broadcast_top_stat".$sqlClear." WHERE list='".$lang."'");

И именно запрос json вызывает подскок температуры и загрузку 2 ядер на 50% в течении секунды. Т.е если обновлять каждую секунду то получим 50% загрузку процессора:
bf0b6016a1c044e8a6a2e5a33c05165e.png

С учетом того, что еще пока мало строк и обратили на это внимание, требуется вариант разгрузки. Тем более пока страница запрашивает только 2 позиции, а через несколько часов сразу 5 будет запросов.
  • Вопрос задан
  • 153 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
минимум индекс по list, максимум - замена list на связанную по id таблицу или enum (сохраняя индекс, естественно)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽