日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

MySQL 表空間碎片的概念及相關問題解決

瀏覽:39日期:2023-10-03 14:44:00
背景

經常使用 MySQL 的話,會發現 MySQL 數據文件的磁盤空間一般會不停的增長,而且有時候刪了數據或者插入一批數據的時候,磁盤空間有時候還會毫無變化。引發這個其妙現象的就是 MySQL 的表空間碎片。

什么是表空間碎片?

表空間碎片指的是表空間中存在碎片,形象一點來比喻的話,就像是一張 A4 紙,“表空間碎片”就像是把這張 A4 紙撕碎,再重新拼起來,各個碎片之間都會有一些縫隙存在,這些縫隙就是“表空間碎片”。重新拼起來的碎片實際上會比完整的 A4 紙大上一圈,這也代表著表空間容易引發的問題:空間浪費。

對于背景中描述的現象,可以用一張圖來進行解釋:

MySQL 表空間碎片的概念及相關問題解決

圖中的數字代表真實的數據行,圓角矩形代表一個表的表空間。從左往右,第一次操作是刪除數據,由于 MySQL 在設計上是不會主動釋放空間的,因此當表中的數據行被刪除時,雖然數據被“刪除”了,但是實際上這部分空間是沒有釋放的,依舊會被 Table A 占用,因此也就出現了這樣子的情景:刪除了日志表的很多數據,但是 MySQL 的磁盤空間并沒有降低。

PS:這種不釋放空間的設計多半和惰性刪除有關,早期設計數據庫時,使用的 IO 設備一般是機械盤,讀寫性能比 SSD 差很多,所以刪除操作一般不會直接觸發磁盤上的數據刪除。

可以看到數據刪除之后,原本連續的空間中出現了兩個空白的區域,這種一般就叫做表空間空洞,空洞太多了就叫做表空間碎片化(對應的是表空間連續)。這部分的空間雖然不會釋放,但是會被標記為可重復利用,參考最右邊的表空間示意圖(第三個圓角矩形),當新插入數據的時候新數據會重新寫入到表空間空洞中,這也代表著:在大規模刪除過數據的表上,寫入數據時,表空間可能不會明顯增長或者不會增長。

實際上產生表空間空洞的操作并不只有 delete,update 也會引起這個問題,比如在 varchar 這種變長的字符型列中修改數據,改短一些的時候就會出現非常小的空洞,改長的話就有可能會因為空間不足導致把數據行的一些數據遷移到其他地方去。

怎么查看表空間碎片

MySQL 的系統表記錄了表空間的使用情況,可以用如下查詢檢查:

SELECT CONCAT(table_schema,’.’,table_name) AS ’table_name’,table_rows AS ’Number of Rows’,CONCAT(ROUND(data_length/(1024*1024),2),’ M’) AS ’data_size’,CONCAT(ROUND(index_length/(1024*1024),2),’ M’) AS ’index_size’ ,CONCAT(ROUND(data_free/(1024*1024),2),’ M’) AS’data_free’,CONCAT(ROUND(data_free/data_length,2),’ %’) AS ’data_free_pct’,ENGINE as ’engine’FROM information_schema.TABLESWHERE table_schema = ’tablename’ ORDER by data_free desc;

data_free 指表空間碎片的總空間大小,data_free_pct 指這個表的碎片百分比,效果如下:

mysql> SELECT CONCAT(table_schema,’.’,table_name) AS ’table_name’, -> table_rows AS ’Number of Rows’, -> CONCAT(ROUND(data_length/(1024*1024),2),’ M’) AS ’data_size’, -> CONCAT(ROUND(index_length/(1024*1024),2),’ M’) AS ’index_size’ , -> CONCAT(ROUND(data_free/(1024*1024),2),’ M’) AS’data_free’, -> CONCAT(ROUND(data_free/data_length,2),’ %’) AS ’data_free_pct’, -> ENGINE as ’engine’ -> FROM information_schema.TABLES -> WHERE table_schema = ’sbtest’ -> ORDER by data_free desc;+----------------+----------------+-----------+------------+-----------+---------------+--------+| table_name | Number of Rows | data_size | index_size | data_free | data_free_pct | engine |+----------------+----------------+-----------+------------+-----------+---------------+--------+| sbtest.sbtest5 | 0 | 0.02 M | 0.00 M | 44.00 M | 2816.00 % | InnoDB || sbtest.sbtest4 | 986400 | 214.70 M | 15.52 M | 4.00 M | 0.02 %| InnoDB || sbtest.sbtest3 | 986400 | 214.70 M | 15.52 M | 4.00 M | 0.02 %| InnoDB || sbtest.sbtest2 | 986400 | 214.70 M | 15.52 M | 4.00 M | 0.02 %| InnoDB || sbtest.sbtest1 | 987400 | 199.70 M | 15.52 M | 4.00 M | 0.02 %| InnoDB |+----------------+----------------+-----------+------------+-----------+---------------+--------+5 rows in set (0.00 sec)

第一行數據是測試用的數據,表中的所有數據都被刪掉了,因此計算出來的 data_free_pct 超過了 100%。

怎么解決表空間碎片問題

目前,能夠回收表空間的辦法僅有一個,就是重建表,手段包括但不限于 optimize,alter table 等。alter table 的有些操作只能靠 rebuild 表來完成,所以有時候對大表進行一些維護操作之后,也會看到磁盤空間使用率下降,這就是回收了表空間碎片騰出來的那一部分空間。

從一般經驗來看,表空間碎片的回收操作不建議經常執行,每個月一次就足夠了,因為 rebuild 表對服務器的資源影響會比較大,且會影響這個表的寫入操作。碎片率(data_free_pct)低于 20% 的時候也不用特別在意,除非磁盤空間非常緊張,且日志基本被清空。

對于回收空間的問題

對一些日志表,或者是有區域性特征的表,建議使用 MySQL 的分區表來管理,需要清理一批數據的時候,可以用 partition truncate 的方式進行清理,磁盤空間也能直接釋放掉。

以上就是MySQL 表空間碎片的概念及相關問題解決的詳細內容,更多關于MySQL 表空間碎片的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩一区电影| 亚洲精品成人图区| 精品一区在线| 蜜桃精品在线| 日韩大片免费观看| 激情国产在线| av资源亚洲| 免费污视频在线一区| 日韩中文字幕高清在线观看| 精品理论电影在线| 麻豆91在线播放| 欧美a级一区二区| 精品国产一区二区三区av片| 国内精品伊人| 福利视频一区| 亚洲黄色中文字幕| 精品国产欧美日韩| 免费看av不卡| 久久影院一区| 亚洲网站视频| 野花国产精品入口| 蜜臀精品久久久久久蜜臀| 亚洲精品少妇| 久久国产人妖系列| 麻豆国产欧美一区二区三区| 欧美极品中文字幕| 精品一区二区三区亚洲| 欧美好骚综合网| 国产精品av久久久久久麻豆网| 亚洲精品一二三区区别| 欧美一区=区| 亚洲小说春色综合另类电影| 日韩精品亚洲一区二区三区免费| 欧美亚洲国产日韩| 国产一区二区三区四区五区 | 99国产精品免费视频观看| 婷婷成人综合| 日韩精品视频中文字幕| 久久只有精品| 激情婷婷综合| 亚洲18在线| 久久精品国产网站| 欧美不卡高清| 亚洲一区二区免费看| 日本色综合中文字幕| 91视频一区| 亚洲一区免费| 麻豆久久一区| 99日韩精品| 91精品丝袜国产高跟在线| 国产精品99久久免费| 美美哒免费高清在线观看视频一区二区| av资源亚洲| 日本va欧美va瓶| 日本欧美一区二区| 精品一区二区三区亚洲| 婷婷亚洲五月色综合| 日韩国产欧美在线播放| 国产精品尤物| 国产精品黄网站| 麻豆一区二区在线| 欧美a级一区| 国产欧美三级| 国产美女高潮在线观看| 亚洲色图网站| 日韩欧美在线中字| 荡女精品导航| 国产精品视频一区视频二区| 国产成人精选| 午夜久久99| 国产毛片精品| 欧美午夜精品一区二区三区电影| 日韩美女国产精品| 日本精品国产| 麻豆mv在线观看| 欧美在线综合| 亚洲一区欧美| 伊人精品视频| 日韩中文在线电影| 欧美日一区二区三区在线观看国产免| 久久这里只有| 亚洲午夜天堂| 最新亚洲国产| 久久中文字幕av| 91精品福利观看| 亚洲四虎影院| 日韩高清在线不卡| 日韩精品影视| 亚州av乱码久久精品蜜桃| 欧美成人精品一级| 免费av一区| 国产欧美欧美| jiujiure精品视频播放| 国产欧美啪啪| 鲁大师影院一区二区三区| 日本一区二区免费高清| 亚洲精选av| 中文另类视频| 日韩av成人高清| 在线免费观看亚洲| 91看片一区| 国产日韩一区二区三区在线| 亚洲福利国产| 欧美永久精品| 国产亚洲在线| 日韩深夜视频| 国产精品一区二区av日韩在线| 韩日一区二区| 国产精品一区三区在线观看| 五月婷婷六月综合| 国产一区二区精品久| 亚洲精品日本| 国产精品99免费看| 岛国av在线网站| 国产一卡不卡| 亚洲深夜福利在线观看| 99成人在线| 久久九九国产| 麻豆极品一区二区三区| 亚洲天堂资源| 日韩激情网站| 久久久9色精品国产一区二区三区| 在线成人动漫av| 奇米亚洲欧美| 久久久噜噜噜| 粉嫩av一区二区三区四区五区 | 鲁大师精品99久久久| 欧美在线综合| 不卡av一区二区| 神马午夜在线视频| 欧美日本不卡| 日韩精选在线| 婷婷综合一区| 日本久久一区| 亚洲精品护士| 在线亚洲成人| 亚洲精品乱码久久久久久蜜桃麻豆| 精品国产欧美日韩一区二区三区| 日韩欧美网址| 国产黄大片在线观看| 97精品国产一区二区三区| 欧美日韩一区自拍| 国产欧美日韩一级| 欧美日一区二区三区在线观看国产免| 欧美日韩一区二区三区四区在线观看| 欧美福利在线| 麻豆亚洲精品| 日韩专区在线视频| 蜜桃91丨九色丨蝌蚪91桃色| 99re国产精品| 久久精品 人人爱| 久久国际精品| 高清精品久久| 久久国产高清| 国产91在线播放精品| 亚洲美女久久精品| 狠狠躁少妇一区二区三区| 91午夜精品| 国产美女久久| 日韩国产专区| 黄色欧美在线| 久久久久欧美精品| 午夜久久tv| 日韩极品在线观看| 久久99偷拍| 久久要要av| 日本不卡视频在线| 久久99蜜桃| 亚洲成人一区| 亚洲狼人精品一区二区三区| 国产精品久久久久9999高清| 精品资源在线| 怡红院精品视频在线观看极品| 国产农村妇女精品一区二区| 国产美女视频一区二区| 国产66精品| 一本一道久久a久久精品蜜桃| 美女日韩在线中文字幕| 日本va欧美va欧美va精品| 麻豆久久久久久| 性欧美xxxx免费岛国不卡电影| 欧美jjzz| 日韩av中文字幕一区| 精品国产欧美日韩一区二区三区| aⅴ色国产欧美| 日本va欧美va瓶| 欧美日韩视频网站| 国产农村妇女精品一二区| 麻豆一区二区在线| 在线观看免费一区二区| 国产精品igao视频网网址不卡日韩| 久久中文精品| 免费在线看一区| 国产福利亚洲| 日韩视频二区| 国产精品久av福利在线观看| 制服诱惑一区二区| 久久一区亚洲| 日韩一区二区三区精品| 国产一区二区三区四区|