Repito mi post
del otro que copias:
No la has encontrado como pregunta, porque eso es el ABC de los DBA: Ninguna transacción de mantenimiento, optimización o backup se realiza durante el período de trabajo. Nunca. SI alguna vez has usado los cajeros electrónicos bancarios habrás notado que varias veces al día no puedes usarlos por tareas de "mantenimiento"... Es que están consolidando datos y realizando transacciones de optimización.
Todo proceso de mantenimiento de una base de datos requiere el bloqueo de todas las tablas, y por ende, en muchas ocasiones requiere el cierre de toda/s las bases de datos y conexiones activas.
Lo que debes buscar no es si es o no conveniente optimizar tablas en uso, sino cómo son las técnicas y procesos de administración, backup, mantenimiento y consolidación de servidores de bases de datos.
Y obviamente, la respuesta es siempre NO. No se debe optimizar una tabla en uso, por la misma razón de que no se puede permitir que dos usuarios accedan a ella para realizar modificaciones de datos en forma concurrente (imaginate que A borra el registro que B está editando. ¿Qué pasa entonces?).
La optimización reescribe índices y tablas, de modo que los índices que los usuarios están leyendo se vuelven, por ejemplo, obsoletos antes de terminar sus tareas, pero ellos no se enteran hasta que intentan grabar algo... Y todo colapsa.