Архивировать данные и создавать отчеты по ним

У меня есть база данных MySQL, размер которой растет так быстро из-за количества вставок в минуту,

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

У меня есть несколько вопросов по этому поводу.

  1. Это хорошая идея?
  2. Как я могу сделать архивирование?
  3. Как я могу запускать отчеты по архивным данным?

Спасибо вам большое!

1

Решение

Уровень снижения производительности из-за размера базы данных очень относителен. Если ваши таблицы правильно проиндексированы и ваши запросы отчетов эффективны, размер базы данных может практически не повлиять на ее производительность.

Я предлагаю не перемещать данные из производственной базы данных в архивную базу данных, а создавать отчеты только для «последних» записей. Например, вместо того, чтобы удалять все записи старше года, измените запросы отчетов с помощью:

where date >= DATE_SUB(NOW(),INTERVAL 1 YEAR);

Таким образом, у вас все еще есть доступ ко всем вашим данным, если вам это нужно, и ваши отчеты очень сильно страдают от размера базы данных. Также поможет убедиться, что ваша дата проиндексирована.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]