關於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

相關文章
相關標籤/搜索