AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken MSSQL/ADO + 3 Mio Datensätze , Thread Error
Thema durchsuchen
Ansicht
Themen-Optionen

MSSQL/ADO + 3 Mio Datensätze , Thread Error

Ein Thema von bernhard_LA · begonnen am 11. Jun 2014 · letzter Beitrag vom 13. Jun 2014
Antwort Antwort
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: MSSQL/ADO + 3 Mio Datensätze , Thread Error

  Alt 12. Jun 2014, 07:39
Die Tatsache, dass wir in unserer Anwendung einige Sachen "suboptimal" implementiert haben, war mir auch schon vor diesem Betrag bekannt und dies ist auch nicht mein Thema


Ich habe über Nacht eine Testbankenbank auf unserem MSSQL Server eingespielt mit 12 MIO Datensätzen, d.h. die Aussage Irgend eine 32 Bit Speichergröße geteilt durch die Größe eines Datensatzes ergibt die Anzahl der max. Records kann ich so nicht nachvollziehen.
Angehängte Grafiken
Dateityp: jpg many_records.jpg (25,4 KB, 23x aufgerufen)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.877 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: MSSQL/ADO + 3 Mio Datensätze , Thread Error

  Alt 12. Jun 2014, 08:02
Zitat:
Die Tatsache, dass wir in unserer Anwendung einige Sachen "suboptimal" implementiert haben, war mir auch schon vor diesem Betrag bekannt und dies ist auch nicht mein Thema
Warum wird das dann nicht geändert?
Zitat:
Ich habe über Nacht eine Testbankenbank auf unserem MSSQL Server eingespielt mit 12 MIO Datensätzen, d.h. die Aussage Irgend eine 32 Bit Speichergröße geteilt durch die Größe eines Datensatzes ergibt die Anzahl der max. Records kann ich so nicht nachvollziehen.
Für das DBMS ist das kein Problem, es ist aber eines wenn man versucht, die 3 (oder 12) MIO Datensätze in ein Grid anzuzeigen.
Dadurch werden die Daten dann (teilweise) redundant im Arbeitsspeicher des Clients gehalten. Vorher verstopfen diese das Netzwerk, da sie ja auch übertragen werden müssen.
Wieviel Hauptspeicher hast du?
Markus Kinzler
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: MSSQL/ADO + 3 Mio Datensätze , Thread Error

  Alt 12. Jun 2014, 09:35
der Client hat aktuell 32 GByte Arbeitsspeicher, Win 7 x64 ..... ; Für ~ 1000 Euro könnte ich kurzfristig weiter 64 GByte auf unserem Client nachrüsten und hätte mein Problem für einige Zeit gelöst / nach hinten geschoben;


Kann ich mir mit dieser Strategie "Zeit verschaffen" oder muss ich sofort den Code anpacken?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.385 Beiträge
 
Delphi 12 Athens
 
#4

AW: MSSQL/ADO + 3 Mio Datensätze , Thread Error

  Alt 12. Jun 2014, 09:54
Das ist egal. Wenn der Client nur 32 Bit ist, dann kann der nunmal standardmäßig nur 2 GB (optional 3, bzw fast 4 GB) verwalten
und das auch, wenn im Rechner real nun 1 GB RAM verbaut sind. (siehe Auslagerungsdatei)


Es gibt aber auch DB-Komponenten und Grids, welche die Daten nicht alle sofort laden müssen, sondern nur einen (relevanten) verschiebbaren Teil,
so daß man in dem Grid dann auch 300 Mio. Datensätze anzeigen könnte, wenn es unbedingt sein muß.
Gut, sowas wie Sortierung und Filterung geht dann im Grid natürlich nicht mehr, da ja nicht alle Daten "aktuell" verfügbar sind.
(Das ist wie beim HxD, welcher, bei Anzeige der des RAM- oder HDD-Inhalts, auch nicht alles lädt, sondern nur den aktuell sichtbaren Bereich)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.223 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: MSSQL/ADO + 3 Mio Datensätze , Thread Error

  Alt 12. Jun 2014, 09:54
der Client hat aktuell 32 GByte Arbeitsspeicher, Win 7 x64 ..... ; Für ~ 1000 Euro könnte ich kurzfristig weiter 64 GByte auf unserem Client nachrüsten und hätte mein Problem für einige Zeit gelöst / nach hinten geschoben;
Du hast das Problem nicht gelöst. Du versucht es durch unpassende Mittel zu umgehen.
Und solange deine erstellte Exe nicht 64-Bittig ist bringt dir das ehe nix.

Kann ich mir mit dieser Strategie "Zeit verschaffen" oder muss ich sofort den Code anpacken?
Das ist keine Strategie. Das ist planloses handeln.
Mit 32 GB RAM kann man heutzutage problemlos ein ganze Automodell im CAD-System laden. Und du schafft es nicht damit ein popelige Tabllendarstellung zu realisieren.

Ein Workaround wäre u.U. den Curser den Table-Komponente auf clUseServer zu stellen um ein paar Tage zeit zu haben. das so anzupassen das du nicht alle Datensätze in den Clientspeicher list. Man muss aber bedenken das dieser SErverseitige Curser Last auf den Server erzeugt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


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:26 Uhr.
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