Domanda

Questo è interessante per me - nonostante il titolo quasi inane. Ho usato Firebird per molto tempo, ma non fino a poco tempo notato un comportamento interessante.

Sto utilizzando Embedded Firebird 1.5, e ho notato che se roba il database completo di blob (diciamo la pena 10mb), la dimensione del database aumenta. Posso quindi eliminare tutti i campi del database, e la dimensione del file del DB rimane a sua dimensione espansa. Attualmente è a 20 MB ed è completamente vuota.

So che Firebird ha questo costruito nella sua architettura (per l'indicizzazione rapida, problemi di velocità, ecc), ma ho sempre pensato che sarebbe diminuire di nuovo fino alla sua ~ predefinito 2mb originale.

Qualcuno ha qualche suggerimento a 'sgonfiare' la dimensione del file? Il motivo è che questo è un problema di coscienza dello spazio. Se ho avuto un sacco di spazio per lavorare, non mi importerebbe. Tuttavia questo non è il caso, e ho bisogno che le cose siano come ottimale possibile

Grazie!

È stato utile?

Soluzione

L'unico modo per liberare lo spazio inutilizzato in un database Firebird è quello di fare una copia di backup quindi un immediato ripristino di quella di backup (Riferimento: Firebird FAQ ).

Qui è una buona spiegazione tecnica del motivo per cui questo è così.

Si noti che Firebird riutilizzerà lo spazio attualmente inutilizzata - vale a dire. se si mette un altro 10 MB di blob in ora, il database non dovrebbe crescere fino a 30 MB.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top