кейс к слову с историей заказов хороший - вот я захожу в какой амазон или там местный какой ecommerce портал и смотрю - у меня списки заказов отдельными списками - те которые активные и те которые завершились. Уже разделение на таблички помогает а не делает сложнее.
дальше - тебе надо скажем поиск заказов по покупателю - это может быть какой-то order_shipping где хранится кто получатель и куда доставлять - все. Либо данные есть либо их нет. inner join + фильтры. Удобно
тебе надо искать заказы по "когда заказывали" - тоже будет одна табличка которая не будет привязана к статусу особо и будет всегда (записи не перемещаются) и ты вжух такой и просто по ней ищешь
тебе обычно без разницы смотришь ты как пользователь на актуальные данные или данные которые на пару секунд устарели - тупо потому что ты не сможешь гарантировать что данные в сети не задержались