DROP TABLE IF EXISTS t1,t2; CREATE TABLE t1 (a , b ) ENGINE= ; INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b'); CREATE TABLE t2 (a , b ) ENGINE= ; INSERT INTO t1 (a,b) VALUES (3,'c'),(4,'d'); OPTIMIZE TABLE t1; Table Op Msg_type Msg_text test.t1 optimize status OK INSERT INTO t2 (a,b) VALUES (4,'d'); OPTIMIZE NO_WRITE_TO_BINLOG TABLE t2; Table Op Msg_type Msg_text test.t2 optimize status OK INSERT INTO t2 (a,b) VALUES (5,'e'); INSERT INTO t1 (a,b) VALUES (6,'f'); OPTIMIZE LOCAL TABLE t1, t2; Table Op Msg_type Msg_text test.t1 optimize status OK test.t2 optimize status OK OPTIMIZE TABLE t1, t2; Table Op Msg_type Msg_text test.t1 optimize status Table is already up to date test.t2 optimize status Table is already up to date DROP TABLE t1, t2; CREATE TABLE t1 (a , b , (a)) ENGINE= ; INSERT INTO t1 (a,b) VALUES (1,'a'),(100,'b'),(2,'c'),(3,'d'); OPTIMIZE TABLE t1; Table Op Msg_type Msg_text test.t1 optimize status OK DROP TABLE t1;