@alexdora
Топ-менеджер

Какой способ оптимальный по SELECT в данной ситуации?

Дано:
  1. Есть таблица 12млн записей (прирост в сутки 12-15к записей, изменения строк 1000-2000 в сутки)
  2. id, exUrl (varchar 255), locUrl (varchar 255), innoDB
  3. При генерации страницы нужно достать из базы всего 100-150 строк из этой таблицы
  4. Таких запросов 60-100 в минуту
  5. Всего на базе нагрузка realtime 600 соединений и приблизительно 700-800 запросов в секунду к другим таблицам
  6. VPS XEN Ubuntu 14.04: 4 ядра + 8Gb Ram + SSD


Вот сижу и думаю, как наиболее оптимально выдергивать эти 100-150 строк. Пока вариант генерировать длинный запрос на поиск SELECT по id всех необходимых строк, но он мне не очень нравится.
Не смотря на довольно большое количество запросов/соединений к базе, там сплошные INSERT и поиски только по таблицам( в таблицах до 300к до 1млн записей). Поэтому нагрузка общая на систему 12%-14% в пике. У меня не получится тестировать в поле и смотреть - упадет или нет. Если база обрушится от этих запросов - то будет беда-беда-беда покруче всемирного потопа.
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ответы на вопрос 1
petermzg
@petermzg
Самый лучший программист
Оптимальнее memory cache на 150 записей. Если для всех страниц одинаковые записи.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы