ChrisB: elegante Lösung für Tabellen mit Spaltenversionen

Beitrag lesen

Hi,

Wenn ich noch einen zusätzlichen Index verwende, dann habe ich eine Spalte mehr, wenn ich jedoch das Datum benutzen, schlage ich zwei Fliegen mit einer Klappe einmal welche Version neuer ist und einmal wann die Version erstellt worde.

Zwei Fliegen mit einer Klappe zu schlagen, erfordert aber eine größere Klappe, oder mehr Genauigkeit beim Zielen, oder ... also letzten Endes mehr Aufwand für die Datenbank.

Mit einer zusätzlichen Spalte, die nur die Information enthält, dass ein Datensatz der aktuellste innerhalb einer bestimmten Gruppierung ist, hast du ggf. bessere Performance beim Auslesen nur der aktiven Datensätze - und wann der aktive Datensatz erstellt wurde, bekommst du über die Datums-Spalte trotzdem als Bonus-Information.

Informationen über vorherige Versionen kannst du dann immer noch über das Datum alleine beziehen.

Natürlich erfordert der Umgang mit diesem Aktiv-Kennzeichen etwas mehr Aufwand und Logik und Kontrolle bei der Erstellung und Manipulation der Datnsätze. Aber bei großen Datenbeständen kann es sich durchaus bezahlt machen, dafür auf aufwendige Sortierungen nach einer Datumsspalte beim Auslesen der aktiven Datensätze (die ggf. auch Self JOINs oder Subqueries erfordern) verzichten zu können.

MfG ChrisB

--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?