Как сделать накопитель событий и сбросить одним запросом в таблицу?
Есть такой кейс, на странице в действии контроллера происходит нескольких событий, каждое из которых затем пишется в таблицу лог через INSERT SQL. Ну скажем метод, Log::add($type, $message) в котором выполняется INSERT SQL для вставки одной строки в таблицу.
Проблема: Событий много, постоянно запись в лог, запросы выполняются на вставку, таблица постоянно растет, что замедляет работу сайта.
Моя задача оптимизировать этот процесс, первое что приходит в голову, это множествнный INSERT для вставки сразу нескольких записей, для этого нужно реализовать накопитель строк и потом как то сбрасывать все сразу в таблицу.
Вопрос, как это грамотно реализовать и куда в PHP скрипте повесить сброс накопленных событий? Причем чтобы не потерять ни одного в случае аварийного завершения скрипта или если exit, нужен какой то механизм накопления и потом запись все событий в таблицу лог, что позволит сократить количество INSERT.