OPTIMIZE TABLE

OPTIMIZE TABLE语法:

如果您已经删除了表的一大部分,或者如果您已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的表)进行了很多更改,则应使用OPTIMIZE TABLE。被删除的记录被保持在链接清单中,后续的INSERT操作会重新使用旧的记录位置。您可以使用OPTIMIZE TABLE来重新利用未使用的空间,并整理数据文件的碎片。

在多数的设置中,您根本不需要运行OPTIMIZE TABLE。即使您对可变长度的行进行了大量的更新,您也不需要经常运行,每周一次或每月一次即可,只对特定的表运行。

OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用。

1. account表原始大小

OPTIMIZE TABLE_第1张图片

2. 删除大部分数据

OPTIMIZE TABLE_第2张图片

3.数据长度和索引长度依然没变

4. optimize table

OPTIMIZE TABLE_第3张图片

5. 数据长度和索引长度变成实际长度了

OPTIMIZE TABLE_第4张图片


你可能感兴趣的:(OPTIMIZE TABLE)