Как лучше всего удалять данные из таблицы в производственной системе с 2-3 миллионами строк, каждая из которых имеет потенциально 100 КБ-1М данных (несколько полей среднего текста содержащий xml)? Вероятно, около 3/4 строк будут удалены, поскольку они являются устаревшими данными, которые больше не нужны.Как удалить большое количество строк/данных из производства MySQL
Я написал сценарий plsql, который разбивает удаление на управляемые куски на транзакцию, но по-прежнему существует проблема с binlog (база данных реплицируется), которая быстро заполняется и автоматически усекается автоматически каждые пару дней. IIRC ,
Мое настоящее мышление - это просто зарегистрировать какую-то задачу cron для ежедневной ежедневной работы для каждой базы данных, каждый день удаляя достаточно, чтобы избежать заполнения бинголя, и пусть они будут очищены с течением времени. Есть ли лучшие варианты?
Если все xml-поля для строк, которые должны были быть удалены, должны быть установлены в значение null до их удаления, означает ли это, что размер бинлога будет уменьшен по сравнению с просто удалением строки сразу?
Это должно быть на dba.stackexchange.com. – Veve