关于mysql 删除数据后(.MYD,MYI)物理空间未释放

关于mysql 删除数据后物理空间未释放 OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并无减少。这是由于删除操做后在数据文件中留下碎片所致。OPTIMIZE TABLE 是指对表进行优化。若是已经删除了表的一大部分数据,或者若是已经对含有可变长度行的表(含有 VARCHAR 、 BLOB 或 TEXT 列的表)进行了不少更改,就应该使用 OPTIMIZE TABLE 命令来进行表优化。这个命令能够将表中的空间碎片进行合并,而且能够消除因为删除或者更新形成的空间浪费 。OPTIMIZE TABLE 命令只对 MyISAM 、 BDB 和 InnoDB 表起做用 。表优化的工做能够每周或者每个月按期执行,对提升表的访问效率有必定的好处,可是须要注意的是,优化表期间会锁定表,因此必定要安排在空闲时段进行。mysql

手册中关于OPTIMIZE的一些用法和描述sql

OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...优化

若是您已经删除了表的一大部分,或者若是您已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的表)进行了不少更改,则应使用 OPTIMIZE TABLE。被删除的记录被保持在连接清单中,后续的INSERT操做会从新使用旧的记录位置。您可使用OPTIMIZE TABLE来从新 利用未使用的空间,并整理数据文件的碎片。 在多数的设置中,您根本不须要运行OPTIMIZE TABLE。即便您对可变长度的行进行了大量的更新,您也不须要常常运行,每周一次或每个月一次 便可,只对特定的表运行。 OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起做用。 注意,在OPTIMIZE TABLE运行过程当中,MySQL会锁定表。spa

相关文章
相关标签/搜索