To paranoja :)
DB nie powiększają się niepotrzebnie, ale w przypadku problemów z wydajnością również miejsce nie jest zwalniane.
Prawdopodobnie słyszałeś, że jeśli usuniesz rekordy, to miejsce nie zostanie zwrócone systemowi operacyjnemu . Zamiast tego jest on przechowywany jako pusta przestrzeń dla bazy danych do ponownego użycia.
Dzieje się tak, ponieważ:
- DB potrzebuje trochę miejsca na dysku HD, aby zapisać swoje dane; jeśli nie ma miejsca, na początku rezerwuje trochę pustego miejsca.
- Kiedy wstawiasz nowy wiersz, część tego miejsca jest używana.
- Gdy zabraknie wolnego miejsca, rezerwowany jest nowy blok itd.
- Teraz kiedy usuniesz niektóre wiersze , aby zapobiec rezerwowaniu coraz większej liczby bloków, jego miejsce jest wolne, ale nigdy nie jest zwracane systemowi operacyjnemu, dzięki czemu można go później użyć ponownie bez konieczności rezerwowania nowych bloków.
Jak widać, spacja to ponownie wykorzystany, ale nigdy nie oddany. To jest kluczowy punkt twojego pytania.