Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#12

AW: Speicherbedarf von Access-DB sehr groß

  Alt 10. Mai 2011, 06:46
@Perlsau:
Access ist für mich am einfachsten da vorhanden
MySQL wäre auch noch möglich
Firebird ist, da kostenlos im Netz verfügbar, quasi auch vorhanden. Du mußt bei einem Kunden kein Firebird installieren, wenn du die Embedded-Version mitgibst, das ist einfach ein paar DLLs (u.a. fbclient.dll), die im Programmverzeichnis liegen. Der Vorteil gegenüber Access ist gewaltig! Schon allein bei Blob-Feldern: speicherst du in Access z.B. JPG-Grafiken ab, fügt Access dem Pic eigensinnig noch ein paar Byte hinzu, die du beim Auslesen mühevoll wieder wegschneiden mußt. Ansonsten gibt es bei Access nichts, was es nicht auch in Firebird gibt. Für MySQL gibt es meines Wissens nach dagegen keine Embedded-Version.

Der Gedanke, daß in einem Memo 2-Byte-Zeichen in der DB abgelegt werden und daher der Faktor >2 in den Größen (Dateien vs. DB) liegt, stimmt möglicherweise nicht.
Versuche:
1. Textfeld als Memo bzw. als OLE (BLOB) definiert, schreiben des Inhalts als Stringlist mit Text.CommaText
--> kein Unterschied in der DB-Größe
2. Umsetzen von Text.CommaText in einen Ansi-String, der dann wie bei 1. in ein Memo bzw. OLE-Feld abgelegt wird
--> kein Unterschied in der DB-Größe
Die Größe einer Datenbank kann vor und nach dem Einfügen von Daten gleich sein, du siehst die Größenänderung erst nach einer erneuten Kompilation (bei Access: nach Komprimierung, bei Firebird: nach BackUp & Restore).
  Mit Zitat antworten Zitat