I have a heavily accessed table corresponding to user's private messages, with over 10 M rows. When I run the user deletion process, obsolete messages are deleted from the table, typically more than 1000 rows. The problem raises when this table is optimized, because that takes nearly 1 minute, during which the table is totally locked and all queries are delayed. The same applies for other large tables.
The question is, can I simply leave the table permanently un-optimized without major performance issues? Or should I optimize the table at least once a week, at a time with low traffic to prevent annoying my online users?