Innodb/XtraDB tables do benefit from being reorganized often. You
can get data physically laid out in primary key order as well as
get better feel for primary key and index pages and so using less
it is just OPTIMIZE TABLE might not be best way to do it.
If you're running Innodb Plugin on Percona Server with XtraDB you
get benefit of a great new feature - ability to build indexes by
sort instead of via insertion. This process can be a lot faster,
especially for large indexes which would get inserts in very
random order, such as indexes on UUID column or something
similar. It also produces a lot better fill factor. The problem
is.... OPTIMIZE TABLE for Innodb tables does not get advantage of
it for whatever reason.
Lets take a look at little benchmark I done by running OPTIMIZE
for a second time on a table which is some 10 times larger than
amount of memory I allocated for buffer pool: