Mysql優化碎片空間

2021-09-29 05:18:04 字數 1142 閱讀 4771

mysql的表在使用的過程,會不斷產生碎片空間,占用儲存

1.查詢表的碎片空間

可以看到有120m左右的碎片空間

下面執行命令進行優化,表越大執行時間越長,執行過程中會鎖住表,切記在業務低峰操作

可以看到2g的資料,120m的碎片空整理用了8分鐘

此時再次檢視表空間使用情況

可以看到碎片空間被清理掉了,但是table_row和data_length也有變動。

我們也可以直接檢視mysql儲存的磁碟空間驗證下

首先查詢mysql儲存位置:

可以看到是 /var/lib/mysql/

清理前空間占用是2.4g

清理後空間占用是

但是有時候會遇到mysql的儲存空間用滿,在優化的時候報錯table is full

此時需要先把mysql的儲存空間先釋放些,比如可以刪除一些binlog,然後再做清理。

mysql碎片空間 mysql碎片應用

1.查詢結果集中自增功能 set i 0 select i i 1 id 2.資料庫備份 mysqldump database uroot p beifen.sql 3.資料庫表空間tablespace優化 show table status from database like table nam...

MysqL碎片整理優化

先來說一下什麼是碎片,怎麼知道碎片有多大!簡單的說,刪除資料必然會在資料檔案中造成不連續的空白空間,而當插入資料時,這些空白空間則會被利用起來.於是造成了資料的儲存位置不連續,以及物理儲存順序與理論上的排序順序不同,這種是資料碎片.實際上資料碎片分為兩種,一種是單行資料碎片,另一種是多行資料碎片.前...

mysql 表空間碎片 MySQL 清除表空間碎片

碎片產生的原因 1 表的儲存會出現碎片化,每當刪除了一行內容,該段空間就會變為空白 被留空,而在一段時間內的大量刪除操作,會使這種留空的空間變得比儲存列表內容所使用的空間更大 2 當執行插入操作時,mysql會嘗試使用空白空間,但如果某個空白空間一直沒有被大小合適的資料占用,仍然無法將其徹底占用,就...