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

Datový soubor MySQL se nezmenší

Velikost souboru tabulkových prostorů InnoDB se nikdy automaticky nezmenší, bez ohledu na to, kolik dat smažete.

Co byste mohli udělat, ačkoli je to hodně úsilí, je vytvořit jeden tabulkový prostor pro každý stůl nastavením

innodb_file_per_table

Dlouhá část o tom je, že musíte exportovat VŠECHNA DATA ze serveru mysql (nastavení nového serveru by bylo jednodušší) a poté data znovu importovat. Místo jednoho jediného souboru ibdata1, který obsahuje data pro každou tabulku, najdete spoustu souborů s názvem tablename.ibd které obsahují data pouze pro jednu jedinou tabulku.

Poté:

Když poté odstraníte mnoho dat z tabulek, můžete nechat mysql znovu vytvořit datový soubor vydáním

alter table <tablename> engine=myisam;

přepnout na MyIsam (a nechat odstranit datový soubor InnoDB pro tuto tabulku) a poté

alter table <tablename> engine=innodb;

znovu vytvořit stůl.



  1. Získání výjimky java.sql.SQLException:Operace není povolena po uzavření sady ResultSet

  2. Jak vypočítat tržby v MySQL

  3. Jak vrátit seznam dostupných znakových sad v MySQL

  4. Import CSV do MySQL