Подтвердить что ты не робот

Насколько дороже события MySQL?

В моем веб-приложении я использую два повторяющихся события, которые "очищают" одну из таблиц в базе данных, каждая из которых выполняется каждые 15 минут.

Мой вопрос: может ли это привести к проблемам производительности в будущем? Потому что я где-то читал - я не помню, где именно: события MySQL должны планироваться для запуска один раз в месяц или около того. Дело в том, что те же самые события сохраняют таблицу в довольно уменьшенном размере (поскольку они удаляют записи старше 15-минут), возможно, это компенсирует частоту их выполнения, правильно?

Кроме того, лучше ли иметь одно большое событие MySQL или много маленьких, если они вызываются на одной и той же частоте?

4b9b3361

Ответ 1

Я не думаю, что в ежемесячной базе есть индикация производительности, а скорее предложение о том, что с ней делать. Поэтому я думаю, что вы в порядке с вашей очисткой, используя события.

В конце документация предлагает, чтобы события были

Концептуально это похоже на идею Unix crontab (также известного как "задание cron" ) или планировщик задач Windows.

И концепция для них заключается в том, что вы можете запускать задачу каждую минуту, если вы этого хотите.


Во второй части этого вопроса:

Сериализовать или развернуть его. Если вы разделите их на многие события, которые будут запускаться одновременно, вы создадите всплески, возможно, очень высокого уровня использования процессора, что может замедлить работу приложения при обработке событий.

Итак, либо упакуйте все в одно событие, чтобы оно выполнялось подряд, либо распространяло отдельные события, чтобы они выполнялись в разное время в течение 15 минут. Лично я считаю, что первый из них предпочтительнее, упаковывать их в одно событие, так как они гарантированно работают подряд, даже если один из них продолжает работать дольше обычного.

То же самое относится к cronjobs. Если вы планируете 30 долгосрочных экспорта за один раз, ваше приложение будет терпеть неудачу во время этого временного интервала (узнал, что это трудный путь).