最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL Delete 刪數(shù)據(jù)后磁盤空間未釋放的原因

 更新時(shí)間:2021年05月07日 17:18:22   作者:王文安  
這篇文章主要介紹了MySQL Delete 刪數(shù)據(jù)后磁盤空間未釋放的原因,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下

問題描述

在 MySQL 中使用 delete 語(yǔ)句刪除數(shù)據(jù)之后,監(jiān)控視圖中可用的磁盤空間沒有增加,磁盤使用率沒有下降等等。

解決方案

delete 不釋放空間是 MySQL 自身機(jī)制的原因,需要重建表才可以釋放磁盤空間,可以參考的操作:

  1. 執(zhí)行 optimize table ${table_name}。
  2. 如果是 InnoDB 的表,執(zhí)行 alter table ${table_name} engine = innodb。

需要注意以下兩個(gè)問題:

這兩個(gè)命令都會(huì)重建表,盡量不要在磁盤空間緊張(>90%)的時(shí)候進(jìn)行操作,先擴(kuò)容磁盤,操作完之后再縮容。
這兩個(gè)命令在開始和結(jié)束的時(shí)候都會(huì)嘗試獲取 metadata lock,所以盡量不要在業(yè)務(wù)高峰期執(zhí)行。

問題分析

在 MySQL 的機(jī)制中,delete 刪除的行只是被標(biāo)記為刪除狀態(tài),如果刪除的行很多,整個(gè)數(shù)據(jù)頁(yè)(innodb_page)的行都會(huì)被刪除的時(shí)候,數(shù)據(jù)頁(yè)也只會(huì)標(biāo)記為刪除,都不會(huì)真正的物理刪除,而是一直占用,等待被復(fù)用。

例如:

可以看到 delete 前后,data_length 并沒有發(fā)生變化,但是 data_free 增加了很多。這說(shuō)明數(shù)據(jù)雖然刪了,但是并沒有被釋放,仍舊被 test1 表占用,只是顯示處于 free 狀態(tài),以后再寫入新數(shù)據(jù)的時(shí)候就可以直接復(fù)用,而不需要在申請(qǐng)新的磁盤空間了。

這個(gè)時(shí)候使用alter table test1 engine = innodb 看看效果:

可以看到 data_length 和 data_free 都變成了空表的狀態(tài),僅有一個(gè) innodb_page (默認(rèn) 16k)。

PS:data_free 本身也可以用來(lái)評(píng)估表的空間碎片,當(dāng)這個(gè)數(shù)字非常高的時(shí)候,可以考慮用同樣的方法重建表,回收一部分磁盤空間。

以上就是MySQL Delete 刪數(shù)據(jù)后磁盤空間未釋放的原因的詳細(xì)內(nèi)容,更多關(guān)于MySQL 刪數(shù)據(jù)后磁盤空間未釋放的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MySQL中or用法及mybatis or用法詳解

    MySQL中or用法及mybatis or用法詳解

    在SQL查詢語(yǔ)句中,OR關(guān)鍵字用于連接兩個(gè)或多個(gè)條件,表示滿足其中一個(gè)條件即可,當(dāng)使用OR時(shí),如果第一個(gè)條件為真,則不會(huì)檢查第二個(gè)條件;如果第一個(gè)條件為假,則會(huì)檢查第二個(gè)條件,這篇文章主要介紹了MySQL中or用法及mybatis or用法總結(jié),需要的朋友可以參考下
    2024-05-05
  • MySQL 有關(guān)MHA搭建與切換的幾個(gè)錯(cuò)誤log匯總

    MySQL 有關(guān)MHA搭建與切換的幾個(gè)錯(cuò)誤log匯總

    這篇文章主要介紹了MySQL 有關(guān)MHA搭建與切換的幾個(gè)錯(cuò)誤log匯總,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2020-12-12
  • MySQL索引類型Normal、Unique和Full Text的講解

    MySQL索引類型Normal、Unique和Full Text的講解

    今天小編就為大家分享一篇關(guān)于MySQL索引類型Normal、Unique和Full Text的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • 在MySQL concat里面使用多個(gè)單引號(hào),三引號(hào)的問題

    在MySQL concat里面使用多個(gè)單引號(hào),三引號(hào)的問題

    今天小編就為大家分享一篇在MySQL concat里面使用多個(gè)單引號(hào),三引號(hào)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-03-03
  • 詳解MySQL的字段默認(rèn)null對(duì)唯一索引的影響

    詳解MySQL的字段默認(rèn)null對(duì)唯一索引的影響

    這篇文章主要為大家介紹了MySQL的字段默認(rèn)null對(duì)唯一索引的影響詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • MySQL日志設(shè)置及查看方法

    MySQL日志設(shè)置及查看方法

    這篇文章主要介紹了MySQL日志設(shè)置及查看方法,需要的朋友可以參考下
    2017-05-05
  • mysql通過find_in_set()函數(shù)實(shí)現(xiàn)where in()順序排序

    mysql通過find_in_set()函數(shù)實(shí)現(xiàn)where in()順序排序

    這篇文章主要介紹了mysql通過find_in_set()函數(shù)實(shí)現(xiàn)where in()順序排序的相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • mysql8連接不上問題及解決

    mysql8連接不上問題及解決

    這篇文章主要介紹了mysql8連接不上問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 最新評(píng)論

    西藏| 平果县| 临颍县| 曲靖市| 霞浦县| 长沙市| 东至县| 聊城市| 陆河县| 田东县| 龙岩市| 阳江市| 富阳市| 招远市| 湟源县| 金门县| 萍乡市| 东明县| 通道| 综艺| 怀仁县| 竹北市| 普兰县| 方山县| 平山县| 温宿县| 正安县| 黔西县| 榆社县| 资兴市| 肇州县| 怀集县| 进贤县| 富蕴县| 榆中县| 惠水县| 建平县| 阿勒泰市| 红安县| 江都市| 视频|