Сначала я докажу, что это проблема. Вы захотите загрузить базу данных фиктивными данными и посмотреть, как ваши запросы будут работать по мере увеличения базы данных. В противном случае вы тратите время на оптимизацию чего-то, что не может быть проблемой.
Надо подумать. Во всех местах, где я работал, где все рушится, это не тысячи записей, а миллионы. У вас есть эта система, и она некоторое время работает нормально, а затем начинает замедляться, даже если вы добавляете больше оборудования. Место, где я сейчас работаю, насчитывает около 70 миллионов записей в его таблице истории, начиная с 1998 года. В результате производительность по некоторым запросам ужасна, и они тратят много времени на решение этих проблем.
Но в какой-то момент вы действительно должны спросить. Нужно ли нам хранить данные более 4 лет в нашей транзакционной системе? Или даже 4 месяца? Этот срок зависит от потребностей вашего бизнеса, но если вы сохраните в своей транзакционной системе только те данные, которые необходимы для обработки текущей работы ... и заархивируете в хранилище данных свои исторические записи. Вы улучшите свою общую производительность, потому что, скорее всего, вам нужно лишь время от времени запрашивать эти старые данные, так зачем сохранять их с вашими последними данными?
Если вы подумаете об этом заранее, вы сэкономите много головных болей в долгосрочной перспективе.