Мне было интересно, знает ли кто-нибудь элегантное решение для следующего:
Предположим, у меня есть таблица, в которой хранятся заказы, с кучей данных.Так что я на 1M записей, и поиски начинают занимать время.Поэтому я хочу ускорить его, заархивировав некоторые данные более 3 лет - сохранив их в таблицу с именем orders-archive, а затем удалив их из таблицы orders.Поэтому, если нам нужно что-то исследовать или клиент хочет получить более старую информацию - они все еще могут, но 99% поисков выполняются по заказам не старше полутора лет - поэтому нет причин продолжать просматривать более старые данныевсе время.Эти операции перемещения и очистки могут затем выполняться еженедельно.Я уже провел несколько тестов, и я знаю, что время поиска сократится примерно в 4 раза.Пока все хорошо, правда?
Однако я думал о том, как реализовать более старые архивные поиски, и единственная разумная вещь, о которой я могу подумать, это что-то вроде if-else. Если не найдено в заказах, выполните поиск в архиве заказов.Тем не менее - у меня есть около 20 таблиц, которые я хочу заархивировать, и бог знает, сколько поисков / находок сделано в коде, которые я не хочу изменять.Поэтому мне было интересно, есть ли элегантное решение этой проблемы с помощью рельсовых путей, как-то расширить модель?Кто-нибудь имел дело с подобным случаем раньше?
Спасибо.