MySQL InnoDB 從表中刪除資料行後不釋放磁碟空間
P粉148434742
P粉148434742 2023-10-15 00:02:19
0
2
720

我有一個使用InnoDB儲存引擎的MySQL表;它包含大約2M資料行。當我從表中刪除資料行時,它沒有釋放分配的磁碟空間。執行optimize table指令後,ibdata1檔案的大小也沒有減少。

有什麼辦法可以從 MySQL 回收磁碟空間嗎?

我的處境很糟糕;該應用程式在大約 50 個不同的位置運行,現在幾乎所有位置都出現磁碟空間不足的問題。

P粉148434742
P粉148434742

全部回覆(2)
P粉183077097

我自己也遇到了同樣的問題。

發生的情況是,即使刪除資料庫,innodb 仍然不會釋放磁碟空間。我必須匯出,停止mysql,手動刪除文件,啟動mysql,建立資料庫和用戶,然後匯入。感謝上帝,我只有 200MB 的行,但它節省了 250GB 的 innodb 檔案。

設計失敗。

P粉340980243

MySQL 不會減少 ibdata1 的大小。曾經。即使您使用優化表來釋放已刪除記錄所使用的空間,它稍後也會重複使用它。

另一種方法是將伺服器配置為使用 innodb_file_per_table,但這需要備份、刪除資料庫和復原。積極的一面是,在 優化表格

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板