Размерът на файла на пространствата за таблици InnoDB никога няма да се намали автоматично, независимо колко данни изтриете.
Това, което бихте могли да направите, въпреки че е много усилия, е да създадете едно пространство за таблица за всяка таблица, като зададете
innodb_file_per_table
Дългата част от това е, че трябва да експортирате ВСИЧКИ ДАННИ от mysql сървъра (настройването на нов сървър би било по-лесно) и след това да импортирате отново данните. Вместо един единствен файл ibdata1, който съдържа данните за всяка таблица, ще намерите много файлове, наречени tablename.ibd
които съхраняват данните само за една единствена таблица.
След това:
Когато след това изтриете много данни от таблици, можете да позволите на mysql да пресъздаде файла с данни, като издаде
alter table <tablename> engine=myisam;
за да превключите към MyIsam (и да изтриете файла с данни InnoDB за тази таблица) и след това
alter table <tablename> engine=innodb;
за да пресъздадете таблицата.