Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird 2.1 Embedded - Arbeitsspeicher (https://www.delphipraxis.net/161811-firebird-2-1-embedded-arbeitsspeicher.html)

-187- 21. Jul 2011 22:02

Datenbank: FB • Version: 2.1 • Zugriff über: IB

Firebird 2.1 Embedded - Arbeitsspeicher
 
Moin,

Kann es sein das dass Laden einer DB mit 3000 Datensätzen 300K Arbeitsspeicher in Anspruch nimmt oder mach ich evtl etwas falsch.

Hier meine Felder. Die Namen wurden mit "HIDDEN" überschrieben.

Delphi-Quellcode:
  JobTable1.FieldDefs.Add('HIDDEN1', ftInteger,0, false);
  JobTable1.FieldDefs.Add('HIDDEN2', ftString, 200, false);
  JobTable1.FieldDefs.Add('HIDDEN3', ftString, 200, false);
  JobTable1.FieldDefs.Add('HIDDEN4', ftString, 200, false);
  JobTable1.FieldDefs.Add('HIDDEN5', ftString, 200, false);
  JobTable1.FieldDefs.Add('HIDDEN6', ftString, 200, false);
  JobTable1.FieldDefs.Add('HIDDEN7', ftString, 200, false);
  JobTable1.FieldDefs.Add('HIDDEN8', ftString, 200, false);
  JobTable1.FieldDefs.Add('HIDDEN9', ftString, 3000, false);
  JobTable1.FieldDefs.Add('HIDDEN10', ftString, 500, false);
  JobTable1.FieldDefs.Add('HIDDEN11', ftString, 500, false);
  JobTable1.FieldDefs.Add('HIDDEN12', ftString, 32000, false);
  JobTable1.FieldDefs.Add('HIDDEN13', ftString, 200, false);
  JobTable1.FieldDefs.Add('HIDDEN14', ftString, 200, false);
  JobTable1.FieldDefs.Add('HIDDEN15', ftString, 200, false);
  JobTable1.FieldDefs.Add('HIDDEN16', ftString, 200, false);
  JobTable1.FieldDefs.Add('HIDDEN17', ftString, 200, false);
  JobTable1.FieldDefs.Add('HIDDEN18', ftString, 200, false);
  JobTable1.FieldDefs.Add('HIDDEN19', ftString, 200, false);

s.h.a.r.k 22. Jul 2011 04:58

AW: Firebird 2.1 Embedded - Arbeitsspeicher
 
Ist das schlimm? Nachdem du 20 Spalten hast und da auch noch Strings drin vorkommen ist das imho doch okay.

Firebird wird bei Strings nicht für jede Spalte den maximalen Speicherplatz reservieren, sondern es eben dynamisch wachsen lassen.

mkinzler 22. Jul 2011 05:36

AW: Firebird 2.1 Embedded - Arbeitsspeicher
 
Sonst wäre es ja noch mehr, da HIDDEN12 ja schon allein 32kb belegen kann.

Es ist auch die Frage, ob es notwendig ist alle Datensätze auf einmal zu laden. Zudem könnte man das DB Schema durchaus normalisieren.

p80286 22. Jul 2011 10:23

AW: Firebird 2.1 Embedded - Arbeitsspeicher
 
Zitat:

Zitat von mkinzler (Beitrag 1112969)
Es ist auch die Frage, ob es notwendig ist alle Datensätze auf einmal zu laden.

Du wirst doch jetzt nicht das beliebte DOS-Paradigma "Ich bin alleine, der Rechner gehört mir und was nicht in den Speicher passt ist sowieso überflüssig" in Frage stellen?

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz