国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

Mysql單文件存儲刪除數據文件容量不會減少的bug與解決方法

2024-07-24 13:11:46
字體:
來源:轉載
供稿:網友

MySQL的Bug之一:InnoDB ibdata1 never shrinks after data is removed

問題描述

當innodb引擎使用單個文件進行存儲的時候,當對數據庫中數據進行刪除的時候,文件的大小并不會發生變化,意味著文件將會越來越大并且即使刪除也沒辦法 讓其釋放磁盤的空間。

驗證過程

創建一個測試使用的表,如下創建好t這樣的一個表。

mysql,數據庫存儲容量,存儲容量,存儲文件

創建簡單的存儲過程來批量的插入數據。

mysql,數據庫存儲容量,存儲容量,存儲文件

查看開始前的文件的大小

mysql,數據庫存儲容量,存儲容量,存儲文件

當批量插入接近十萬的數據后

mysql,數據庫存儲容量,存儲容量,存儲文件

然后進行刪除操作

mysql,數據庫存儲容量,存儲容量,存儲文件

占用磁盤空間并未減少

解決方案

兩種方式:

1. 先備份后刪除然后進行導入

mysql/92943.html">mysql/15856.html">mysqldump -uxxx -pxxx --all-databases > db.sql service mysql stop rm ibdata rm ×log文件 service mysql start mysql -uxxx -pxxx < db.sql 

2. 把表設置為單表存儲的形式,這樣每個表中的數據單獨存儲,在刪除數據的時候,會隨著數據的刪除而釋放存儲空間。

set global innodb_file_per_table = on 

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新竹县| 栾川县| 札达县| 梧州市| 灌云县| 句容市| 庆城县| 汨罗市| 大余县| 阿克苏市| 宁波市| 天长市| 新津县| 莱阳市| 商南县| 井研县| 吉隆县| 邢台市| 屏东县| 浦江县| 会泽县| 柳州市| 象州县| 阿城市| 永修县| 明水县| 青浦区| 英超| 阜阳市| 禄丰县| 广元市| 城口县| 宝鸡市| 义乌市| 怀来县| 福清市| 大冶市| 杭锦后旗| 清远市| 桓仁| 县级市|