У меня есть таблица, которая говорит:
CREATE TABLE "DataNode" (
"ID" NUMBER(7,0),
"TYPE" NUMBER(7,0),
"NAME" VARCHAR2(100),
"STATUS" NUMBER(7,0),
"REVISION" NUMBER(4,0),
"MODIFIEDAT" DATE
);
CREATE TABLE "DataNode_Revisions" (
"ID" NUMBER(7,0),
"NODEID" NUMBER(7,0),
"TYPE" NUMBER(7,0),
"NAME" VARCHAR2(100),
"STATUS" NUMBER(7,0),
"REVISION" NUMBER(4,0),
"MODIFIEDAT" DATE
) COMPRESS;
Итак, у меня есть эти две таблицы.Я делаю все свои чтения из «DataNode», и когда происходит изменение, я записываю текущую запись в «DataNode_Revisions», а затем изменяю свою существующую запись «DataNode».Имеет смысл?
Это лучший способ сделать это?Я уже могу сказать, что столкнусь с проблемами при изменении Схемы.Я не вижу лучшей альтернативы, но если есть, пожалуйста, дайте мне знать!Я предполагаю, что хранение всего этого в одной таблице приведет к огромным потерям производительности, не так ли?Я имею в виду, что я бы увеличил число записей более чем в четыре раза, а их уже немало.Я думаю, что Drupal хранит такие ревизии узлов, и мне любопытно, как они не страдают от проблем с производительностью.
«DataNode» постоянно читается многими пользователями.Тем не менее, очень мало записей происходит.«DataNode_Revisions» только для чтения из иногда.Я просто беспокоюсь о том, чтобы поддерживать так много таблиц.«DataNode» - это одна из ~ 25 таблиц, очень похожих на эту.