Reclaiming InnoDB ibdata unused space.
As you well know InnoDB will store its data either in one big system tablespace called ibdata or you can store it in multiple tablespaces (innodb_file_per_table). In either case InnoDB by default will not reclaim unused space gained when deleting data. Using innodb_file_per_table will separate each InnoDB table in its own .ibd file and it can be easily reclaimed by doing optimize table, using system tablespace will get you stuck since there is no real supported method for reducing you ibdata file and reclaiming unused disk space.