优化innodb表

min*_*eow 15 mysql innodb

当我在innodb表上运行优化表时,我收到此消息.是否意味着该表已经过优化,但是以不同的方式?

"table | optimize | note |表不支持优化,而是重新创建+分析而不是|"

RC.*_*RC. 22

文档:

对于InnoDB表,OPTIMIZE TABLE映射到ALTER TABLE,后者重建表以更新索引统计信息并释放聚簇索引中未使用的空间.从MySQL 5.1.27开始,当您在InnoDB表上运行它时,它将显示在OPTIMIZE TABLE的输出中,如下所示:

mysql> OPTIMIZE TABLE foo;
+----------+----------+----------+-----------------------------------------------------------
| Table    | Op       | Msg_type | Msg_text                                                    
+----------+----------+----------+-----------------------------------------------------------    
| test.foo | optimize | note     | Table does not support optimize, doing recreate + analyze ...
| test.foo | optimize | status   | OK                                                            
+----------+----------+----------+-----------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

您可以通过使用--skip-new或--safe-mode选项启动mysqld,使OPTIMIZE TABLE在其他存储引擎上工作.在这种情况下,OPTIMIZE TABLE只是映射到ALTER TABLE.

  • 迟到总比不到好.:) (2认同)