Задавайте вопросы, мы ответим
Вы не зашли.
Така фигня.
Есть в базе несколько таблиц с логами, в частности game_log, fight_log, chat_log и т.д.
все на innoDB с индексами.
Логи через 14 дней уже не актуальны, поэтому старые автоматически удаляются утилиткой, висящей в фоне, через простой DELETE:
DELETE FROM game_log WHERE date<’текущая дата-14 дней′
Беда в том, что всё работает нормально, но примерно рас в месяц база начинает жутко тупить, помогает только DROP и пересоздание всех вышеупомянутых таблиц.
В принципе идеально было бы переносить данные в архив (Archive Storage Engine) таблицу, но это же будет сделано инсертами в архивную с последующим делетом из лога (если есть другой способ, буду рад узнать), что в итоге опять сломает базу.
Есть идеи по этому поводу?
Неактивен
Обычно разбивают таблички на несколько штук и объединяют их через VIEW или MERGE.
Ну и старые физические таблички, которые уже не нужны — удаляют.
В любом случае, хранить журналы в InnoDB — не разумно, обычно MyISAM хватает за глаза.
Неактивен
Спасибо, подозревал что-то в этом роде.
Неактивен