That one is interesting in my experience - regardless of the almost inane title. I have tried personally Firebird for any very long time, although not until lately observed a fascinating behavior.

I'm using embedded firebird 1.5, and observed when I stuff the database filled with blobs (allows say 10mb worth), how big the database increases. I'm able to then remove all of the fields within the database, and also the quality from the DB remains at its broadened size. Presently it's at 20mb and it is completely empty.

I understand that firebird has this included in its architecture (for convenient indexing, speed issues etc), however i always thought it might decrease down again to the original ~2mb default.

Does anybody have tips to 'deflate' the quality? It is because is this fact is really a space conscious problem. Basically had a lot of space to utilize, I would not care. However that's not the situation, and that i need items to be as optimal as you possibly can


The only method to free unused space inside a firebird database would be to perform a backup then an instantaneous restore of this backup (Reference: Firebird FAQ).

Here is a great technical explanation of why this really is so.

Observe that Firebird will reuse the presently unused space - ie. should you put another 10MB of blobs in now, the database shouldn't grow to 30MB.