Беру задачу под ключ: настрою так, чтобы завершённые заказы старше года сами уходили из рабочей базы в архивную, а вы получили быструю площадку без ручной возни с чисткой таблиц. Расписание переноса задаём один раз — дальше всё происходит без вашего участия, по ночам или в часы низкой нагрузки, как вам удобнее.
Причина, по которой личный кабинет, поиск исполнителей и админка со временем начинают заметно тормозить, почти всегда одна и та же: в основных таблицах годами лежат тысячи закрытых заказов, вся переписка по ним и журналы транзакций, хотя реально с ними уже никто не работает. Каждый запрос к базе вынужден перебирать этот балласт вместе с актуальными данными. Я забираю всё старое в отдельную архивную базу — рабочие таблицы становятся компактнее, и сайт ощутимо оживает.
Отдельно слежу за тем, чтобы архив не превращался в чёрную дыру, откуда ничего не достать. Записи переносятся с проверкой целостности, а для поиска в архиве делаю простой инструмент — по номеру заказа, дате или логину пользователя, чтобы поддержка находила старую сделку за секунды, если клиент вдруг вспомнил о споре по оплате.
Результат:
— перенос завершённых заказов старше выбранного срока в архивную базу по расписанию;
— контроль целостности при переносе — без потерь и задвоений;
— поиск по архиву за секунды;
— краткая инструкция, как менять срок хранения самостоятельно.
Причина, по которой личный кабинет, поиск исполнителей и админка со временем начинают заметно тормозить, почти всегда одна и та же: в основных таблицах годами лежат тысячи закрытых заказов, вся переписка по ним и журналы транзакций, хотя реально с ними уже никто не работает. Каждый запрос к базе вынужден перебирать этот балласт вместе с актуальными данными. Я забираю всё старое в отдельную архивную базу — рабочие таблицы становятся компактнее, и сайт ощутимо оживает.
Отдельно слежу за тем, чтобы архив не превращался в чёрную дыру, откуда ничего не достать. Записи переносятся с проверкой целостности, а для поиска в архиве делаю простой инструмент — по номеру заказа, дате или логину пользователя, чтобы поддержка находила старую сделку за секунды, если клиент вдруг вспомнил о споре по оплате.
Результат:
— перенос завершённых заказов старше выбранного срока в архивную базу по расписанию;
— контроль целостности при переносе — без потерь и задвоений;
— поиск по архиву за секунды;
— краткая инструкция, как менять срок хранения самостоятельно.