We are running MySQL 5.0.77, and using INNODB in production for the first time. The production database has a lot of inserts and deletes, and the shared "ibdata1" file is continually growing. I understand that to return the unused space to the operating system, we must delete and recreate "ibdata1" and its associated ".frm" files. I am wondering if we could do the following instead:
1) Let "ibdata1" grow for a while.
2) Rebuild the tables periodically using this syntax: ALTER TABLE t1 ENGINE = InnoDB;
I realize that this would not return the unused space to the operating system. But would it return it to MySQL so that it could be re-used for subsequent inserts, instead of extending "ibdata1" further?
1) Let "ibdata1" grow for a while.
2) Rebuild the tables periodically using this syntax: ALTER TABLE t1 ENGINE = InnoDB;
I realize that this would not return the unused space to the operating system. But would it return it to MySQL so that it could be re-used for subsequent inserts, instead of extending "ibdata1" further?