sql >> Databáze >  >> RDS >> Mysql

Je místo obsazené odstraněnými řádky znovu využito?

Je to paranoia :)

DB se zbytečně nezvětšují, ale pro problémy s výkonem se také neuvolňuje prostor.

Nejpravděpodobněji jste slyšeli, že pokud smažete záznamy, nebude místo vráceno operačního systému . Místo toho je uchováván jako prázdné místo pro DB, které lze později znovu použít.

Je to proto, že:

  • DB potřebuje k uložení dat nějaké místo na HD; pokud nemá žádné místo, vyhradí si nejprve nějaké prázdné místo.
  • Když vložíte nový řádek, použije se část tohoto místa.
  • Když vám dojde volné místo, bude rezervován nový blok a tak dále.
  • Nyní, když smažete některé řádky , aby se zabránilo rezervování dalších a dalších bloků, je jeho prostor udržován volný, ale nikdy není vrácen operačnímu systému, takže jej můžete později znovu použít, aniž byste museli rezervovat nové bloky.

Jak vidíte, prostor je znovu použit, ale nikdy nevrácen. To je klíčový bod vaší otázky.



  1. Změna priority účtu v databázovém poštovním profilu (SSMS)

  2. Ukončit zavěšený dotaz (nečinnost v transakci)

  3. Seskupování tabulek v rámci databáze MySQL

  4. vybrat z jedné tabulky a vložit do jiné