Ho letto più volte che dopo aver eliminato una riga in una tabella InnoDB in MySQL, il suo spazio non viene riutilizzato, quindi se si inseriscono molti INSERT in una tabella e quindi si eliminano periodicamente alcune righe, la tabella utilizzerà sempre più spazio su disco, come se le righe non venissero cancellate del tutto.Lo spazio occupato dalle righe cancellate viene riutilizzato?
Recentemente mi è stato detto che lo spazio occupato dalle righe eliminate viene riutilizzato ma solo dopo che alcune transazioni sono complete e anche allora - non completamente. Ora sono confuso.
Qualcuno può darmi un senso per me? Devo fare un sacco di INSERT in una tabella InnoDB e poi ogni X minuti ho bisogno di CANCELLARE i record che sono più vecchi di Y minuti. Ho un problema di tavolo InnoDB in continua crescita qui, o è paranoia?
Seb, puoi fornire un collegamento ufficiale per questo? –
@GautamSomani Questa è una risposta di 6 anni, non ho collegamenti disponibili ma potrei trovare questo: https://dev.mysql.com/doc/refman/5.1/en/optimize-table.html: ' Le righe eliminate vengono mantenute in un elenco collegato e le successive operazioni INSERT riutilizzano le vecchie posizioni di riga. È possibile utilizzare OPTIMIZE TABLE per recuperare lo spazio non utilizzato e deframmentare il file di dati. Dopo ampie modifiche a una tabella, questa affermazione potrebbe anche migliorare le prestazioni delle affermazioni che utilizzano la tabella, a volte in modo significativo. Sono sicuro che se utilizzi google sarai in grado di trovare maggiori informazioni ufficiali a riguardo. – Seb