Announcement

Collapse
No announcement yet.

Datenbankzugriff zu langsam (BLOB-Felder)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datenbankzugriff zu langsam (BLOB-Felder)

    Ich benötige für eine Backupfunktion in meinem Programm eine Paradoxtabelle, in der ich drei 'normale Felder' und 9 BLOB-Felder speichere (es sind JPEG-Bilder). Nun wird bereits nach 30 Records die Datenbank unglaublich langsam.

    Wie muß ich die Datenbank strukturieren, um neue Records schnell anzuhängen? Die Felder sind: Time, Date, String, 9xBLOB Die JPEGs sind zwischen 30 und 70 KB groß.

    Ich verwende bisher den Befehl Table1.Append und lade dann die einzelnen Blobs durch

    TBlobField(Table1.FieldByName('Bild1')).LoadFromFi le(file)

    Wie geht es schneller?

    Danke für die Hilfe!

    P.S. Es ist mir aus Sicherheitsgründen nicht möglich, die Bilder extern auf Platte zu speichern und in der Datenbank nur darauf zu verweisen!

  • #2
    Hallo,

    wenn der Tabelleninhalt nur als Backup der Daten dienen soll, würde ich die neuen Datensätze über eine INSERT-Anweisung (also über SQL) in die Paradox-Tabelle einfügen. Der Vorteil der INSERT-Anweisung besteht dabei darin, das die BDE den "alten" Tabelleninhalt (also die vorher eingefügten Datensätze) nicht öffnen muss.

    Ein Beispiel für eine INSERT-Anweisung, die Parameter verwendet, ist in der Delphi-Hilfe unter <b>TQuery.Params</b> zu finden.

    In der Hilfe ist unter <b>TParam.LoadFromFile</b> auch ein Beispiel für das Einlesen von BLOB-Inhalten in einen Parameter: "<i>Mit LoadFromFile kann der Wert eines BLOB-Parameters aus der Datei geladen werden, auf die der Parameter FileName verweist. Die Eigenschaft DataType wird auf den Wert gesetzt, der als Parameter BlobType übergeben wird.</i>".
    <pre>
    Query2.ParamByName('Notes').LoadFromFile('c:\Files \Note1234.txt', ftMemo);
    </pre&gt

    Comment

    Working...
    X