AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi FireDAC Query Speicher freigeben
Thema durchsuchen
Ansicht
Themen-Optionen

FireDAC Query Speicher freigeben

Ein Thema von haentschman · begonnen am 10. Jul 2018 · letzter Beitrag vom 12. Jul 2018
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#1

FireDAC Query Speicher freigeben

  Alt 10. Jul 2018, 17:14
Datenbank: MSSQL • Version: 2012 • Zugriff über: FireDAC
Hallöle...

Gegeben:
FDQuery auf einem Datamodul mit ca. 300 im Feldeditor eingetragenen Feldern.

Auch wenn ich die Query (Resultset mit ca. 500MB) schließe, habe ich nach dem Open (neues SQL mit Parametern) eines Resultsets mit keinem Datensatz keine Verringerung des Arbeitsspeichers...

Wie kann ich die Query wirklich leeren? (Speicher)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#2

AW: FireDAC Query Speicher freigeben

  Alt 10. Jul 2018, 17:17
Auch wenn ich die Query (Resultset mit ca. 500MB) schließe, habe ich nach dem Open (neues SQL mit Parametern) eines Resultsets mit keinem Datensatz keine Verringerung des Arbeitsspeichers...

Wie kann ich die Query wirklich leeren?
Die Query ist dann schon leer. Das bedeutet aber nicht, daß der Arbeitsspeicher wieder freigegeben wird (zumindest nicht so, daß Windows das merkt).

Wird denn der Arbeitsspeicher größer, wenn du die Query danach wieder füllst?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: FireDAC Query Speicher freigeben

  Alt 10. Jul 2018, 17:25
... keine Verringerung des Arbeitsspeichers...
Nach Windows Taskmanager oder wenn du den Delphi-Speichermanager fragst?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#4

AW: FireDAC Query Speicher freigeben

  Alt 10. Jul 2018, 17:33
Hallo Uwe...

Langsam verstehe ich die Welt nicht mehr. Ich habe das Statement so manipuliert, daß beim Start max. 10 Datensätze abgerufen werden... was macht der Speicher?...läuft auf 1.2GB Gefühlt macht er aus der Query eine Tabelle wo die where Bedingung ignoriert wird. Kann das mit fmAll zusammenhängen?

Zu deiner Frage: Bleibt stabil.

Zitat:
Nach Windows Taskmanager
...ja
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#5

AW: FireDAC Query Speicher freigeben

  Alt 10. Jul 2018, 17:40
Ich habe das Statement so manipuliert, daß beim Start max. 10 Datensätze abgerufen werden... was macht der Speicher?...läuft auf 1.2GB Gefühlt macht er aus der Query eine Tabelle wo die where Bedingung ignoriert wird. Kann das mit fmAll zusammenhängen?
Was passiert denn, wenn du die Query in der IDE im Query-Editor von FireDAC abschickst?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#6

AW: FireDAC Query Speicher freigeben

  Alt 10. Jul 2018, 17:56
...ich habe keine Verbindung im Editor...habe ich noch nie gemocht.

Code:
SELECT DatumBeleg, *
  FROM [Bla].[dbo].[Blubb]
  where AddDate BETWEEN DATEADD([day], -10, GETDATE()) AND (GETDATE())
...1 Datensatz (1,1GB Speicher)

Code:
SELECT DatumBeleg, *
  FROM [Bla].[dbo].[Blubb]
  where AddDate BETWEEN DATEADD([day], -30, GETDATE()) AND (GETDATE())
...3450 Datensätze (1,2GB Speicher)


Geändert von haentschman (11. Jul 2018 um 08:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#7

AW: FireDAC Query Speicher freigeben

  Alt 10. Jul 2018, 18:03
Kannst du das einfach mal ein ein separates Programm packen und nur die Query ausführen? Nur um irgendwelche Seiteneffekte auszuschließen. Probeweise vielleicht auch mal im SQL Management Studio ausführen. Die Query allein ist nicht wirklich aussagekräftig.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#8

AW: FireDAC Query Speicher freigeben

  Alt 10. Jul 2018, 19:07
Heute nicht mehr, ich habe entnervt aufgeben. Morgen wieder... Ich habe noch ein paar Tests im Kopf.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: FireDAC Query Speicher freigeben

  Alt 10. Jul 2018, 19:45
Das hatte ich auch mal - FireDAC lädt gerne die gesamte Datenbank nur um sie dann auf Client-Seite zu filtern oder zu sortieren. Das treibt er selbst so weit bis ihm als 32-Bit-Prozess der Speicher ausgeht. Da gibt es so unendlich viele Einstellungen in FireDAC, eine davon wird es sein. Ich kann morgen noch einmal nachschauen was ich bei mir ändern musste damit er aufhört.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#10

AW: FireDAC Query Speicher freigeben

  Alt 10. Jul 2018, 20:04
FireDAC lädt gerne die gesamte Datenbank nur um sie dann auf Client-Seite zu filtern oder zu sortieren.
FireDAC kann auch nur maximal soviel Daten laden wie der SQL-Server hergibt. Wenn eine Query nur einen Record liefert, dann müssen das schon ziemlich viele und große Felder sein um 1 GB voll zu bekommen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:56 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