MySQL 表不支持优化

Dsc*_*duc 9 mysql wordpress

我的 Wordpress 表似乎需要优化,所以我查看了命令 OPTIMIZE TABLE 。当我运行命令时,我得到以下结果:

表不支持优化,改为重新创建+分析

这些表格是使用 Wordpress 2.91 安装程序构建的,根本没有修改。

  1. 这是正常的吗?
  2. 如何优化我的数据库以保持正常工作?

War*_*ner 5

你找到 MySQL 文档了吗?它是广泛而有用的。

当您OPTIMIZE TABLE针对 InnoDB 表运行时,它会输出Table does not support optimize, doing recreate + analyze instead消息。

从文档:

OPTIMIZE TABLE 映射到 ALTER TABLE,它重建表以更新索引统计信息并释放聚集索引中未使用的空间。

MySQL 5.1 优化表语法

  • 该消息表明它*正在*优化表。之所以如此冗长,是因为它本质上是alter table 语句的快捷方式,在早期版本的MySQL 中必须使用它来代替,因为“OPTIMIZE TABLE”无法针对InnoDB 运行。为什么您认为需要优化表才能使数据库正确运行? (2认同)

Ric*_*way 5

您可以通过执行以下操作来优化 InnoDB 表

ALTER TABLE tablename ENGINE='InnoDB';
Run Code Online (Sandbox Code Playgroud)

这将创建原始表的副本,删除原始表并将新表放在它的位置。

这里有一些附加信息,其中包括您应该注意的事项。

同样在 MySQL 文档中。请参阅 Dathan Pattishall 于 2004 年 5 月 25 日下午 4:41 发表的评论,大约在页面下方。

虽然这样做应该是安全的,但您应该先制作并测试备份。

  • 这产生的结果与对 MySQL 中的 InnoDB 表运行“OPTIMIZE TABLE”完全相同。 (2认同)