首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL碎片整理InnoDB表

MySQL碎片整理InnoDB表
EN

Stack Overflow用户
提问于 2014-10-22 18:02:38
回答 3查看 2.3K关注 0票数 2

在运行mysqltuner之后,我收到了以下输出:

代码语言:javascript
复制
Total fragmented tables: 284

为了整理碎片,我尝试了以下方法:

代码语言:javascript
复制
1. ALTER TABLE tbl_name ENGINE=INNODB
2. Another way to perform a defragmentation operation is to use mysqldump to dump the table to a text file, drop the table, and reload it from the dump file.

这两种方法都是用MySQL文档描述的。

但所有的方法都没有帮助。Mysqltuner仍然表示表是支离破碎的。

注意:在我的配置中, innodb_file_per_table是关闭的。

如何对InnoDB表进行碎片整理?

EN

回答 3

Stack Overflow用户

发布于 2015-08-24 10:07:15

更改表tbl_name ENGINE=INNODB

是整理无害数据库表的唯一方法。

ALGORITHM=INPLACE可以帮助我们在网上完成它。

票数 1
EN

Stack Overflow用户

发布于 2016-01-26 02:35:49

从MySQL 5.5.11开始,您还可以使用ALTER tbl_name 来执行“null”alter操作来重新构建表。以前,部队选项得到承认,但被忽略。

https://dev.mysql.com/doc/refman/5.5/en/alter-table.html

票数 1
EN

Stack Overflow用户

发布于 2020-10-21 14:04:53

我也有同样的问题,解决方案就是在alter之后做alter

代码语言:javascript
复制
alter table xyz engine=InnoDB;
analyze table xyz;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26514073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档