【发布时间】:2016-01-05 06:55:10
【问题描述】:
我有一个名为“EventTable”的 MySQL 表,用于存储事件的信息,包括它们的类型,
发生时间、内容等。我已经从表中删除了一些冗余数据并使用命令optimize table EventTable释放未使用的空间并提高性能,然后它显示
+----------+----------+----------+----------------------------------------- -------------------------------------------- +
| Table | Op | Msg_type | Msg_text |
+----------+----------+----------+------------------------------------------------------------------------------------- +
| EventTable | optimize | note | Table does not support optimize, doing recreate + analyze instead |
| EventTable | optimize | status | OK |
+----------+----------+----------+--------------------------------------------------------------------------------------+
然后根据http://www.justin.my/2010/09/table-does-not-support-optimize-doing-recreate-analyze-instead/
我用
ALTER TABLE advcms.event ENGINE='InnoDB';
相反,但表保持不变,索引根本没有改变。
然后我发现文章下面的评论描述了不需要用后者代替前者,因为“对于 InnoDB 表,OPTIMIZE TABLE 映射到 ALTER TABLE”。
那么,有什么方法可以按我的预期检查“优化”工作吗?
【问题讨论】:
-
请修正您的格式。
标签: mysql optimization