Autor Beitrag
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Mi 25.07.12 11:23 
Moin

Ich denke mal, jeder, der schon einmal mit einer Datenbank experimentiert hat, stand vor dem Problem, eine Auflistung für eine Zeile einzubauen.
Wenn diese Auflistung komplexer ist (z.B. eine Auflistung von Personen, die über eine extra Tabelle definiert werden), bietet sich weiter hin eine typische 1 : n -Beziehung an.

Aber bei einfachen Auflistungen, die z.B. nur Text beinhalten, kann man da nicht die Auflistung serialisieren und dann das Resultat speichern lassen?
Bei größeren Datensetzen ist das sicherlich nicht praktisch, aber wenn ich als Beispiel eine Auflistung von Bildern habe, jedes Bild über den Pfad angegeben wird und die Auflistung auf 10 Bilder beschränkt ist, dann ist das ständige serialisieren kein so großer Aufwand und lässt sich realisieren.
Das funktioniert dann allerdings nur, wenn man die Datenbank über typisierte Klassen verwendet, dann setzt man dort eine Eigenschaft, die genau diese Auflistung serialisiert und deserialisiert.


Meine Frage nun:

Lohnt sich das, wenn ich die binäre Serialisierung nutzen will, oder fällt das ständige Serialisieren und Deserialisieren doch zu sehr ins Gewicht?


Gruß
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 25.07.12 12:10 
Ausprobieren ;)

a.) Du kannst DB spezifische Features jenseits des SQL Standards verwenden. Z.b. PostgreSQL oder Oracle kennen Array Typen.
b.) Du kannst das ganze Zeug auch einfach in einem Blob ablegen. Der Aufwand des Serialisieren/Deserialisierens sollte da kein Problem sein.
Ich benutze ein solches Verfahren schon mal zur Performanceoptimierung. Macht aber nur Sinn bei sich nicht oder kaum ändernden Daten die man immer komplett braucht und auf relationale Funktionalität verzichten kann. Das sollte immer schneller sein als sich die ganzen Daten satzweise(oder Blockweise) aus der DB zu holen.