У меня есть база данных MySQL, размер которой растет так быстро из-за количества вставок в минуту,
Поскольку большая БД снижает производительность, а старая дата используется только для отчетов, я подумал перенести эти данные из БД.
У меня есть несколько вопросов по этому поводу.
Спасибо вам большое!
Уровень снижения производительности из-за размера базы данных очень относителен. Если ваши таблицы правильно проиндексированы и ваши запросы отчетов эффективны, размер базы данных может практически не повлиять на ее производительность.
Я предлагаю не перемещать данные из производственной базы данных в архивную базу данных, а создавать отчеты только для «последних» записей. Например, вместо того, чтобы удалять все записи старше года, измените запросы отчетов с помощью:
where date >= DATE_SUB(NOW(),INTERVAL 1 YEAR);
Таким образом, у вас все еще есть доступ ко всем вашим данным, если вам это нужно, и ваши отчеты очень сильно страдают от размера базы данных. Также поможет убедиться, что ваша дата проиндексирована.
Других решений пока нет …