Mysql
 sql >> Database >  >> RDS >> Mysql

Lo spazio occupato dalle righe eliminate viene riutilizzato?

È paranoia :)

Le dimensioni dei DB non crescono inutilmente, ma per problemi di prestazioni lo spazio non viene nemmeno liberato.

Quello che hai sentito molto probabilmente è che se elimini i record quello spazio non viene restituito al sistema operativo . Invece, viene mantenuto come uno spazio vuoto per il riutilizzo successivo del DB.

Questo perché:

  • DB ha bisogno di spazio su HD per salvare i suoi dati; se non ha spazio, all'inizio riserva uno spazio vuoto.
  • Quando inserisci una nuova riga, viene utilizzata una parte di quello spazio.
  • Quando si esaurisce lo spazio libero, viene riservato un nuovo blocco e così via.
  • Ora, quando elimini alcune righe , per evitare di riservare sempre più blocchi, il suo spazio viene mantenuto libero ma mai restituito al Sistema Operativo, in modo da poterlo riutilizzare in seguito senza necessità di riservare nuovi blocchi.

Come puoi vedere, lo spazio è riutilizzato, ma mai restituito. Questo è il punto chiave della tua domanda.