Hallo,
kann viele Ursachen haben.
Du solltest dich mal zuerst etwas per
www.ibphoenix.com
über die Multi-Generationen-Archtitektur (MGA) bei Firebird belesen.
Ein Select macht nicht nur das Select,
sondern bereitet auch die Garbage-Collection etwas vor.
Kurz:
Es gibt immer mehrere Versionen eines Wertes in einer
FB-
DB.
Wird ein Wert geändert, wird der alte Wert nicht sofort gelöscht,
sondern bleibt erhalten. Es wird aber eine neue Version des Wertes angelegt.
Grund:
Es könnte gerade eine andere Transaktionen genau diesen Wert benutzen,
z.B. zweimal auslesen, dann darf dein Update ja nicht einfach dafür sorgen,
dass beim 2. Mal ein anderer Wert gelesen wird (dirty read).
Ein Select sucht immer den jeweils passenden Wert,
und markiert in diesem Zusammenhang auch veraltete Versionen.
Jetzt läuft alle X (nicht Minuten) ein Thread (sweep) über die
DB und
sucht diese als "veraltet" markierten Versionen und löscht sie.
Vielleicht ist das ja euer Problem.
Bei IBExpert kann man den Sweep-Intervall auf 0 setzen,
muss, vielleicht hilft das ja ?
Dann muss der Sweep aber von Hand gemacht werden,
z.B. einmal (z.B. nachts)
Dazu ein Bat Oder Cmd-Datei anlegen mit
c:\programme\firebird\firebird_1_5\gfix -sweep c:\data.fdb -user sysdba -pass masterkey
und über geplante Vorgänge laufen lassen.
Pfad von gfix und der
DB natürlich noch ändern, und User oder Passwort auch.
Wie sieht es denn jetzt mit dem
RAM-Verbrauch aus ?
Wächst der ständig ?
Das wäre dann eine offene Transaktion,
die im
FB immer mehr
RAM verbrät.
Heiko