Filstørrelsen på InnoDB-tablespaces reduceres aldrig automatisk, uanset hvor meget data du sletter.
Hvad du kan gøre, selv om det er en stor indsats, er at oprette én tablespace for hver tabel ved at indstille
innodb_file_per_table
Den lange del af dette er, at du skal eksportere ALLE DATA fra mysql-serveren (det ville være nemmere at sætte en ny server op) og derefter genimportere dataene. I stedet for en enkelt ibdata1-fil, som indeholder dataene for hver eneste tabel, vil du finde en masse filer kaldet tablename.ibd
som kun opbevarer dataene for en enkelt tabel.
Bagefter:
Når du så sletter en masse data fra tabeller, kan du lade mysql genskabe datafilen ved at udstede
alter table <tablename> engine=myisam;
for at skifte til MyIsam (og få slettet InnoDB-datafilen for denne tabel) og derefter
alter table <tablename> engine=innodb;
for at genskabe tabellen.