Frage

Dieser ist für mich interessant - trotz des fast wahnsinnigen Titels. Ich habe Firebird schon lange verwendet, aber bis vor kurzem ein interessantes Verhalten bemerkt.

Ich benutze eingebettete Firebird 1.5 und bemerkte, dass die Größe der Datenbank zunimmt, wenn ich die Datenbank voller Blobs fülle (sagen wir 10 MB). Ich kann dann alle Felder in der Datenbank löschen, und die Dateigröße des DB bleibt an seiner erweiterten Größe. Derzeit ist es bei 20 MB und ist völlig leer.

Ich weiß, dass Firebird diese Architektur integriert hat (für schnelle Indexierung, Geschwindigkeitsprobleme usw.), aber ich dachte immer, es würde sich wieder auf den ursprünglichen ~ 2 MB -Standard zurücknehmen.

Hat jemand Vorschläge, die Dateigröße zu entleeren? Der Grund dafür ist, dass dies ein raumbewusstes Problem ist. Wenn ich unzählige Raum zum Arbeiten hätte, würde es mir egal sein. Dies ist jedoch nicht der Fall, und ich brauche Dinge, um so optimal wie möglich zu sein

Vielen Dank!

War es hilfreich?

Lösung

Die einzige Möglichkeit, den ungenutzten Raum in einer Firebird -Datenbank zu befreien, besteht darin, eine Sicherung zu erstellen, dann eine sofortige Wiederherstellung dieser Sicherung (Referenz: Firebird FAQ).

Hier ist eine gute technische Erklärung dafür, warum dies so ist.

Beachten Sie, dass Firebird den derzeit nicht verwendeten Raum wiederverwendet wird - dh. Wenn Sie jetzt weitere 10 MB Blobs einsetzen, sollte die Datenbank nicht auf 30 MB wachsen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top