@samokiller

Имеет ли смысл оптимизировать частые большие элементарные запросы?

90% времени работы с mysql - это очень частые пакеты вставок сотнями стандартных записей в секунду в десятки таблиц. В районе 2 мб/сек.
Оставшиеся 10% - это простейшие селекты по формату select * from abc where X=a and Y>b and Zd and ...

Имеет ли смысл искать способы ускорять эти запросы через заранее настроенные процедуры или иные способы оптимизации работы запросов или проще и так некуда?

Если возможно ускорить - то через что?
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 3
@vabka
Токсичный
1. Преждевременная оптимизация - зло.
2. Оптимизация без профилирования не имеет смысла.
3(имхо). Хранимые процедуры это тоже зло.
=> Если эти 10% запросов не вызывают проблем - нет смысла пытаться их как-то оптимизировать при помощи хранимок.
Если хочется заоптимизировать:
1. Выбирать нужно не все поля, а только необходимые
2. Запускаешь EXPLAIN и смотришь, как условие ложится на индексы - по ситуации корректируешь запрос, индексы, схему данных.
3. Если большая часть запросов - это запись, то можно посмотреть на другие СУБД, которые оптимизированы под такой вид нагрузок.
Ответ написан
ThunderCat
@ThunderCat
{PHP, MySql, HTML, JS, CSS} developer
Имеет ли смысл искать способы ускорять эти запросы
А почему этот вопрос не сопровождается таймингами типичных запросов? Какой смысл гадать на сферических запросах в вакууме? Кроме того, если запросы однообразны и повторяются, есть больше смысла в кэшировании результатов, нежели в оптимизации, хотя при плохом времени запроса и это будет не лишним.
Ответ написан
BojackHorseman
@BojackHorseman Куратор тега MySQL
...в творческом отпуске...
"проще" - это не критерий при работе с БД. я могу написать "простой" запрос, который будет работать годами и написать монструозный запрос, который решит ту же задачу за секунды.

правильный критерий - стоимость запроса, выраженная либо через синтетическую метрику (мускул так не умеет), либо через план (оценки количества строк прочтения прямо коррелируют со стоимостью запроса), либо хотя бы косвенно оцененная через время выполнения.

все запросы должны быть оптимизированы полностью. не такая уж у вас там сложная логика, чтобы ваши усилия стоили дорого.
Ответ написан
Ваш ответ на вопрос

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

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