@wawa

Как оптимально хранить исторические данные записей таблицы?

Есть таблица
CREATE TABLE entity (
id int PRIMARY KEY,
a text,
b text,
c text); -- полей больше, но не суть

Записи в этой таблице в основном обновляются.
Задача - хранить историю изменений записей таблицы entity вместе со временем этих изменений, с учетом того, что поля обновляются с разной периодичностью: a - час, b - сутки, c - неделя.
Как вариант создать таблицу
CREATE TABLE entity_history (
id int REFERENCES entity(id),
a text,
b text,
c text,
changed_at timestamp
);

Но это очень неэффективный вариант по памяти.
Может создать по отдельной таблице на каждую группу полей, объединенных по частоте обновления. Но так будет многовато таблиц entity_a_history, entity_b_history... - как-то кривовато выглядит.
Как сделать толково?
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы