Mysql
 sql >> база данни >  >> RDS >> Mysql

Пространството, заето от изтрити редове, се използва ли повторно?

Това е параноя :)

БД не нарастват ненужно, но за проблеми с производителността също не се освобождава пространство.

Това, което най-вероятно сте чували е, че ако изтриете записи, това място не се връща на операционната система . Вместо това се запазва като празно пространство за повторното използване на DB след това.

Това е така, защото:

  • DB трябва да има малко HD пространство, за да запази своите данни; ако няма място, първоначално запазва малко празно място.
  • Когато вмъкнете нов ред, се използва част от това пространство.
  • Когато ви свърши свободното място, се запазва нов блок и т.н.
  • Сега, когато изтриете някои редове , за да се предотврати резервирането на все повече и повече блокове, неговото пространство се запазва свободно, но никога не се връща на операционната система, така че можете да го използвате отново по-късно, без да е необходимо да резервирате нови блокове.

Както можете да видите, пространството е използван повторно, но никога не е върнат. Това е ключовият момент във вашия въпрос.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преобразувайте сложна SQL заявка в SQLAlchemy

  2. Не може да се свърже MySQL контейнер към Tomcat контейнер в docker

  3. Сортиране по дата и час в низходящ ред?

  4. rake db:create - проблеми със съпоставянето

  5. Извадете малко дата и час от текущата дата и час, за да намерите възраст в PHP