Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

O espaço ocupado pelas linhas excluídas é reutilizado?


É paranóia :)

Os BDs não aumentam de tamanho desnecessariamente, mas por questões de desempenho, o espaço também não é liberado.

O que você provavelmente ouviu é que, se você excluir registros, esse espaço não será devolvido ao sistema operacional . Em vez disso, é mantido como um espaço vazio para o banco de dados reutilizar posteriormente.

Isto é porque:
  • O BD precisa ter algum espaço no HD para salvar seus dados; se não tiver nenhum espaço, ele reserva primeiro algum espaço vazio.
  • Quando você insere uma nova linha, uma parte desse espaço é usada.
  • Quando você fica sem espaço livre, um novo bloco é reservado e assim por diante.
  • Agora, quando você exclui algumas linhas , para evitar a reserva de cada vez mais blocos, seu espaço é mantido livre, mas nunca devolvido ao sistema operacional, para que você possa usá-lo novamente mais tarde sem a necessidade de reservar novos blocos.

Como você pode ver, o espaço é reutilizado, mas nunca devolvido. Esse é o ponto chave da sua pergunta.