Perché SQLite aggiunge spazio su disco inutilizzato a "elenco libero" dopo aver eliminato molti dati in un database?

dba.stackexchange https://dba.stackexchange.com/questions/24519

  •  30-10-2019
  •  | 
  •  

Domanda

Le FAQ di SQLite indicano quanto segue:

(12) Ho eliminato molti dati ma il file di database non è diventato più piccolo. è un insetto?

No. Quando si eliminano le informazioni da un database SQLite, lo spazio del disco non utilizzato viene aggiunto a una "lista libera" interna e viene riutilizzato la prossima volta che si inseriscono i dati. Lo spazio su disco non è perso. Ma nemmeno è tornato al sistema operativo.

Puoi spiegarmi i motivi alla base di quella decisione (opposto al restituzione immediata dello spazio libero al sistema operativo)? Quali sono i pro e i contro di tale decisione (compresi quelli non ovvio)?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange
scroll top