Я думаю, что ответ лежит в вопрос «Как часто вы должны увидеть историю конкретной записи и для какого значения?
Если вам нужно это время от времени, чтобы исследовать, кто сделал то, что когда или для аудита purooes, используйте подход таблицы аудита, заполненный через тригг по каждому изменению данных. Или используйте отслеживание изменений, если оно работает для вас (честно говоря, мы не считаем это достаточно хорошим для аудита). Отслеживание изменений также может быть успешно использовано, чтобы узнать, была ли запись изменена с момента последнего импорта данных. Имейте в виду, что данные отслеживания изменений не являются постоянными, если вы физически не копируете их в другую таблицу.
Если вам нужно отобразить всю историю часто, то сохраните все в одной таблице с активным флагом, который поддерживается через триггеры. Создайте представление, в котором есть только активные записи для разработчиков, когда они хотят видеть самые последние данные. Если вы делаете это с существующей базой данных, которая ранее не хранила историю, переименуйте таблицу и назовите представление той же самой таблицы, что и оригинал, так что ничего не сломается.
Я также рассмотрел бы использование отдельных таблиц истории, если бы мне нужны данные истории для отчетности, но не остальная часть приложения. Для instnce у нас есть это, потому что нам нужно знать, являются ли цели, о которых говорят торговые представители, на самом деле являются высокоценными целями в момент, когда контакт произошел, поскольку эта калонизация является частью того, как можно измерить эффективность продаж. Ясно, что нам нужна история, но действительно только один раз в месяц. Таким образом, унизительная производительность ежедневно, чтобы сохранить ее в одной таблице, может оказаться не лучшим решением. Это может помочь сохранить отчетность, отнимающую много времени, от повседневной работы и, возможно, в целом поможет выполнить работу.
Спасибо за ан-HLGEM. Мне понравился способ создания представления, в котором есть только активные строки и концепция переименования. Я могу пойти с этим вариантом. – Kunal