@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... - как-то кривовато выглядит.
Как сделать толково?
  • Вопрос задан
  • 29 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
19 авг. 2018, в 00:49
600 руб./в час
18 авг. 2018, в 17:54
6000 руб./за проект
18 авг. 2018, в 16:00
60000 руб./за проект