optimize table 定期整理碎片

2022-09-07 02:03:08 字數 936 閱讀 5107

當頻繁的對(含有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  /

var/lib/mysql/

song #表資料所在路徑

du

-sh t.* #檢視t的物理檔案大小

刪除表中的大部分資料,在進行檢視t的物理檔案大小的操作,發現並沒有因為資料刪除而減少,接下來對錶進行optimize 操作

可以發現檔案大小減少了

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 ...