I have one MySQL table using the InnoDB storage engine; it contains about 2M data rows. When I deleted data rows from the table, it did not release allocated disk space. Nor did the size of the ibdata1 file reduce after running the
MySQL doesn't reduce the size of ibdata1. Ever. Even if you use
optimize table to free the space used from deleted records, it will reuse it later.
An alternative is to configure the server to use
innodb_file_per_table, but this will require a backup, drop database and restore. The positive side is that the .ibd file for the table is reduced after an