回答:
MySQL認定ガイドによると:
OPTIMIZE TABLEステートメントは、MyISAMテーブルを最適化することによってクリーンアップします。これには、削除と更新によって生じた未使用のスペースの再利用、および分割されて不連続に保存されたレコードの結合が含まれます。OPTIMIZE TABLEはまた、インデックスページが順不同である場合にソートし、インデックス統計を更新します。
InnoDBテーブルでも機能しますが、テーブルを再構築するALTER TABLEにマップします。これにより、インデックス統計が更新され、クラスター化インデックスの領域が解放されます。
InnoDBの場合:
InnodbはACIDに準拠しており、最適化テーブルは単にすべてのレコードを新しいテーブルにコピーします
また、実行中にそれを強制終了しようとしても、レコードが失われることはありません。
さらに、InnoDBとのinnodb_defragment=1
場合、この場合OPTIMIZE TABLE
はインクリメンタルなので、ROLLBACKは必要ありません。