MySQL删除空间释放

问题描述 投票:0回答:1

我了解到,在mysql中执行DELETE sql不会释放空间,因此我对此进行了实验。

[在实验期间,我发现我的数据量很大(大约20000行)时,我删除了一半的行,数据长度没有减少。但是,当我的数据大小约为1000行时,我尝试删除一半的行。出乎意料的是,数据长度将减少。

这真是令人困惑。关于这个问题,我进行了很多搜索,但一无所获。是什么原因?

我的MySQL版本是5.6

mysql innodb information-schema
1个回答
0
投票

InnoDB表统计信息不会在每次删除时更新。因此data_lengthindex_lengthrowsaverage_row_lengthdata_free可能无法始终描述表的精确状态。

您可能想阅读:

即使更新了表格统计信息,它们也不是准确的。它们是基于表的有限样本进行的估算。

© www.soinside.com 2019 - 2024. All rights reserved.