Hallo zusammen,
ich habe derzeit ein grösseres Problem mit unserer Firebirddatenbank. Wir setzen derzeit die Firebirdversion 2.5.0 ein.
Unsere Tabellen funktionieren wie eine Art Ringspeicher. Es wird sehr viel geschrieben auch auch recht viel altes wieder gelöscht, so dass nach einer gewissen Anlaufzeit ein recht stabiler Stand der Anzahl Datensätze vorhanden ist.
Stellenweise sind dabei Tabellen, in denen nur so ca. 100000 Datensätze drin sind.
Es scheint so zu sein, dass die Abfragen auf diese Tabellen mit der Zeit immer langsamer werden. Innerhalb des ersten Tages wenn der Zustand eingeschwungen ist liegen die Abfragezeit so bis zu ca. 1 Sekunde, also recht fix. (z.b. die Abfrage nach dem ältesten Datensatz). Wennd as Programm nun ein paar Tage läuft dann dauert die gleiche Abfrage plötzlich 300-1000 Sekunden. Ganz schön heftig. Manchmal hilft es die Indexstatistik neu zu berechnen, manchmal muss der ganze Index neu aufgebaut werden damit es wieder schnell geht. Alles nicht so toll.
Nun hatte ich über das Wochenende einen Test laufen, bei dem ich drei Tabellen zyklisch gefüllt habe, alle Datensätze älter als 15 Minuten wurden im Hintergrund immer gelöscht. In jeder Tabelle waren so ca. 300000 Datensätze drin mehr nicht. Nun habe ich auf der Festplatte eine Datenbankdatei, die über 6 GB gross ist obwohl ja eigentlich die Tabellen recht leer sind. Ein solches Problem hatte ich bei Kunden auch schon mal gesehen. Ich habe das gefühl, dass die Firebird in der Version 2.5 die gelöschten Datensätze nicht mehr richtig wieder verwendet, kann das sein?
Für ein paar Tips wäre ich sehr dankbar, auch evtl. für den ein oder anderen Hinweis ob ich mit dem Problem des Index noch was machen kann.
ich habe derzeit ein grösseres Problem mit unserer Firebirddatenbank. Wir setzen derzeit die Firebirdversion 2.5.0 ein.
Unsere Tabellen funktionieren wie eine Art Ringspeicher. Es wird sehr viel geschrieben auch auch recht viel altes wieder gelöscht, so dass nach einer gewissen Anlaufzeit ein recht stabiler Stand der Anzahl Datensätze vorhanden ist.
Stellenweise sind dabei Tabellen, in denen nur so ca. 100000 Datensätze drin sind.
Es scheint so zu sein, dass die Abfragen auf diese Tabellen mit der Zeit immer langsamer werden. Innerhalb des ersten Tages wenn der Zustand eingeschwungen ist liegen die Abfragezeit so bis zu ca. 1 Sekunde, also recht fix. (z.b. die Abfrage nach dem ältesten Datensatz). Wennd as Programm nun ein paar Tage läuft dann dauert die gleiche Abfrage plötzlich 300-1000 Sekunden. Ganz schön heftig. Manchmal hilft es die Indexstatistik neu zu berechnen, manchmal muss der ganze Index neu aufgebaut werden damit es wieder schnell geht. Alles nicht so toll.
Nun hatte ich über das Wochenende einen Test laufen, bei dem ich drei Tabellen zyklisch gefüllt habe, alle Datensätze älter als 15 Minuten wurden im Hintergrund immer gelöscht. In jeder Tabelle waren so ca. 300000 Datensätze drin mehr nicht. Nun habe ich auf der Festplatte eine Datenbankdatei, die über 6 GB gross ist obwohl ja eigentlich die Tabellen recht leer sind. Ein solches Problem hatte ich bei Kunden auch schon mal gesehen. Ich habe das gefühl, dass die Firebird in der Version 2.5 die gelöschten Datensätze nicht mehr richtig wieder verwendet, kann das sein?
Für ein paar Tips wäre ich sehr dankbar, auch evtl. für den ein oder anderen Hinweis ob ich mit dem Problem des Index noch was machen kann.
Comment