Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Speicherbedarf bei Datenbank Query (https://www.delphipraxis.net/181655-speicherbedarf-bei-datenbank-query.html)

mse1 2. Sep 2014 12:51

AW: Speicherbedarf bei Datenbank Query
 
Zitat:

Zitat von AndyDF (Beitrag 1270685)
Ich möchte hier nicht über Sinn oder Unsinn diskutieren, ob 30T sinnvoll sind oder nicht. ;)

Mit MSEgui sind übrigens queries mit einigen 100'000 records absolut machbar.

Zitat:

Zitat von Sir Rufo (Beitrag 1270690)
Liegen die Daten jetzt aber speicheroptimiert vor (die Felder nur so lang wie nötig), dann muss für jede Zeile die aktuelle Zeilenlänge bestimmt werden. Vereinfachen kann man das durch eine Längenangabe vor jeder Zeile, die dann aufaddiert wird. Es bleibt aber dabei, dass der Verwaltungsaufwand steigt und damit die Performance sinkt.

Wenn Änderungen an den Daten erfolgen, dann wird das insgesamt dramatischer, denn einfach so kann man eben nicht etwas im Speicher "dazwischen einfügen". Hier müssen dann ganze Blöcke verschoben werden. Ist der Platz aber schon reserviert, dann kann der einfach dort hineingeschrieben werden.

Wie gesagt, auch in MSEgui ist der Rekordpuffer Aufbau fix. Für Textdaten wird UnicodeString verwendet welcher im Recordpuffer den konstanten Speicherbedarf eines pointers hat.

Dejan Vu 2. Sep 2014 13:04

AW: Speicherbedarf bei Datenbank Query
 
Zitat:

Zitat von mse1 (Beitrag 1270702)
Mit MSEgui sind übrigens queries mit einigen 100'000 records absolut machbar.

Klar, wenn bei einem VarChar(1000) nur ein Zeichen belegt ist...:lol: Aber im Ernst: Das ist schon optimal so und imho auch keine Performancebremse, wenn man den Speicher individuell reserviert. Der Speichermanager ist dafür zuständig, das halbwegs schnell hinzubekommen. Und bei gerade mal -von mir aus- 500.000 einzelne Zellen ist das eh in ein paar ms gemacht. Der bottleneck ist sowieso die Query selbst bzw. die Übertragung.

mse1 2. Sep 2014 13:52

AW: Speicherbedarf bei Datenbank Query
 
Liste der Anhänge anzeigen (Anzahl: 1)
Mit SQLite ergeben sich für 1'000'000 records 3..4 Sekunden Ladezeit auf einem alten AMD Athlon Linux-Rechner.

Dejan Vu 2. Sep 2014 14:35

AW: Speicherbedarf bei Datenbank Query
 
Lokal. Wie interessant. ;-)

mse1 2. Sep 2014 15:20

AW: Speicherbedarf bei Datenbank Query
 
Für Firebird über ein 100MHz Netzwerk werden es dann 7..8 Sekunden für die gleichen Daten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:46 Uhr.
Seite 2 von 2     12   

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