當頻繁的對(含有varchar, blob或text列的表)進行了很多更改,建議使用optimize table功能對這類表進行碎片整理,避免因為「空洞」導致效能問題。
optimize table只對myisam, bdb和innodb表起作用
注意,在optimize table執行過程中,mysql會鎖定表。
示例:建立乙個表t,欄位中包含varchar和text的資料型別,使用repeat函式進行插入大量的字串。
create進入存放表資料所在的資料夾。table t (id varchar(100), context text
);insert
into t values (1,repeat('
haha
',100
));......
//大量的進行該類操作
insert into t select * from t;
檢視my.cnf檔案,找到datadir對應的路徑,就是表資料存放的路徑。
例如當前的路徑就是/var/lib/mysql,我的這張表建立在song這個資料庫中。
cd /刪除表中的大部分資料,在進行檢視t的物理檔案大小的操作,發現並沒有因為資料刪除而減少,接下來對錶進行optimize 操作var/lib/mysql/
song #表資料所在路徑
du
-sh t.* #檢視t的物理檔案大小
可以發現檔案大小減少了
mysql高階 optimize table命令
在使用mysql的時候有時候,可能會發現儘管一張表刪除了許多資料,但是這張表表的資料檔案和索引檔案卻奇怪的沒有變小。這是因為mysql在刪除資料 特別是有text和blob 的時候,會留下許多的資料空洞,這些空洞會佔據原來資料的空間,所以檔案的大小沒有改變。這些空洞在以後插入資料的時候可能會被再度利...
mysql中OPTIMIZE TABLE的作用
當您的庫中刪除了大量的資料後,您可能會發現資料檔案尺寸並沒有減小。這是因為刪除操作後在資料檔案中留下碎片所致。discuz 在系統數設定介面提供了資料表優化的功能,可以去除刪除操作後留下的資料檔案碎片,減小檔案尺寸,加快未來的讀寫操作。您只要在做完批量刪除,或定期 如每一兩個月 進行一次資料表優化操...
oracle 定期備份
ap伺服器上建立c backup資料夾 資料夾路徑客戶自己選擇 開啟dbbkup.bat 修改紅字部分 儲存 expcitictest citictest colm2 file c backup date 4,20 dmp log c backup date 4,20 log compress y ...