Если база большая, часто что-то меняется и есть опасность упереться в производительность, то я вытаскивал удаленные данные в отдельную таблицу, но после определенного времени, то есть сначала помечаем флагом, по истечении месяца перетаскиваем в отдельную таблицу-близнец. Просто был случай что вроде «старые» данные иногда и нужны, но огромное количество «мертвых душ» очень сказывалось загруженности сервера.
Если вероятность необходимости обработки старых удаленных данных мала, то пусть они лучше лежат отдельно, если же операции с ними происходят часто, то нужно оставлять их (или переносить только когда критерий «бесполезности» выполнен — у меня это был месяц без изменений)