AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Speicherbedarf bei Datenbank Query
Thema durchsuchen
Ansicht
Themen-Optionen

Speicherbedarf bei Datenbank Query

Ein Thema von AndyDF · begonnen am 1. Sep 2014 · letzter Beitrag vom 2. Sep 2014
Antwort Antwort
Seite 2 von 2     12   
mse1

Registriert seit: 21. Nov 2007
115 Beiträge
 
#11

AW: Speicherbedarf bei Datenbank Query

  Alt 2. Sep 2014, 13:51
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.

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.
Martin Schreiber
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#12

AW: Speicherbedarf bei Datenbank Query

  Alt 2. Sep 2014, 14:04
Mit MSEgui sind übrigens queries mit einigen 100'000 records absolut machbar.
Klar, wenn bei einem VarChar(1000) nur ein Zeichen belegt ist... 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.
  Mit Zitat antworten Zitat
mse1

Registriert seit: 21. Nov 2007
115 Beiträge
 
#13

AW: Speicherbedarf bei Datenbank Query

  Alt 2. Sep 2014, 14:52
Mit SQLite ergeben sich für 1'000'000 records 3..4 Sekunden Ladezeit auf einem alten AMD Athlon Linux-Rechner.
Miniaturansicht angehängter Grafiken
loadtime.png  
Martin Schreiber
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#14

AW: Speicherbedarf bei Datenbank Query

  Alt 2. Sep 2014, 15:35
Lokal. Wie interessant.
  Mit Zitat antworten Zitat
mse1

Registriert seit: 21. Nov 2007
115 Beiträge
 
#15

AW: Speicherbedarf bei Datenbank Query

  Alt 2. Sep 2014, 16:20
Für Firebird über ein 100MHz Netzwerk werden es dann 7..8 Sekunden für die gleichen Daten.
Martin Schreiber
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20: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