大量删除的数据不可避免地会导致数据文件中的不连续空间,当数据被插入时,空格将被使用。
不同存储引擎的分类方式不同。
MyISAM
可能有以下几种方法:
MySQL >显示表状态从测试like'testusers G
*************************** 1。行***************************
的…
行数:3
avg_row_length:45
data_free:40
的…
因为它在中间被删除了,所以它留下一个空白。
>优化MySQL表testusers;
+ + + + ---------------- ---------- ---------- ---------- +
表格运算msg_type | | | | msg_text |
+ + + + ---------------- ---------- ---------- ---------- +
test.testusers优化状态| | | |好|
+ + + + ---------------- ---------- ---------- ---------- +
1行集(0秒)
MySQL >显示表状态从测试like'testusers G
*************************** 1。行***************************
…
行数:3
avg_row_length:32
data_length:96
data_free:0
1行集(0秒)
经过优化,data_free已改为0。要清除的片段数据。
它也可以以同样的方式进行优化。
。 /斌/ mysqlcheck -中-设置-插座=。 / / O到TMP试验testusers
InnoDB
InnoDB不mysqlcheck优化工作,并且可以做如下
小表、修改表table_name是直接使用,和表空间可以被回收,不可直接用于大型的表,因为它会生长的时间创建锁。你可以使用新的表格来传递数据,然后删除旧表的形式,然后再打电话列表。

另一个Python可以看看InnoDB表空间的信息,你可以在网上找到它,并把它写在Python。