ich eine Tabelle sagen:Handhabung Revisionen innerhalb Oracle
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;
So habe ich diese beiden Tabellen. Ich mache alle meine Lesevorgänge von "DataNode" und wenn eine Änderung auftritt schreibe ich den aktuellen Eintrag in "DataNode_Revisions" und modifiziere dann meinen bestehenden "DataNode" Datensatz. Macht Sinn?
Ist dies der beste Weg? Ich kann bereits sagen, dass ich Probleme bekommen werde, wenn sich das Schema ändert. Ich sehe keine bessere Alternative, aber wenn es eine gibt, lass es mich wissen! Ich nehme an, das alles in einer Tabelle zu halten, würde zu massiven Leistungsverlusten führen, aber nicht? Ich meine, ich würde die Anzahl der Platten mehr als vervierfachen, und es gibt schon einige. Ich denke, dass Drupal Knotenrevisionen wie diese speichert, und ich bin gespannt, wie sie keine Leistungsprobleme davon haben.
"DataNode" wird ständig von vielen Benutzern gelesen. Es treten jedoch nur sehr wenige Schreibvorgänge auf. "DataNode_Revisions" wird nur gelegentlich gelesen. Ich mache mir nur Sorgen um so viele Tische. "DataNode" ist einer von ~ 25 Tabellen, die diesem sehr ähnlich sind.
+1: Die funktionsbasierte Indexidee ist hervorragend! –