91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

mysql磁盤碎片整理

京東云 ? 來源:jf_75140285 ? 作者:jf_75140285 ? 2024-08-27 15:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

背景

數據結轉過程中經常進行 delete 操作,產生空白空間,如果進行新的插入操作,MySQL將嘗試利用這些留空的區(qū)域,但仍然無法將其徹底占用,于是造成了數據的存儲位置不連續(xù),以及物理存儲順序與理論上的排序順序不同,久而久之就產生了碎片。

碎片治理思路

根據線上處理經驗總結比對4種處理磁盤碎片優(yōu)缺點

?

治理方案 優(yōu)勢 缺點 備注
將數據量巨大的表設計成分區(qū)表,按時間分區(qū) 通過結轉分區(qū)數據,刪除分區(qū)釋放磁盤碎片,磁盤IO抖動秒級別,對線上業(yè)務影響小 ?
估算數據量,每個分區(qū)不超過3億數據350G為佳;庫存流水,訂單表這些表應該在創(chuàng)建時就應該設計成分區(qū)表,避免以后磁盤碎片痛點
重建表存儲引擎,重新組織數據(ALTER TABLE tablename ENGINE=InnoDB;) ?
整理過程加鎖,周期長,且對線上業(yè)務影響較大:10億數據量,1000G,tp99會持續(xù)超過60s 謹慎操作
主從切換(DBA可使用一個磁盤更大的干凈的庫,進行主從切換) ?
涉及面廣,牽扯范圍較大,處理時長在分鐘級 謹慎操作
創(chuàng)建臨時表進行數據雙寫最后進行數據庫表名切換 零延遲,無抖動,對線上無任何影響 需要磁盤空間較大 ?

?

創(chuàng)建分區(qū)表

wKgaombNf52AKKGpABCZGfhqC9I055.png

上述分區(qū)表,在某一分區(qū)內數據結轉完成后,

ALTER TABLE warehouse_stock_flow drop PARTITION p24;

當然不是所有的表都是可以創(chuàng)建分區(qū)表的。如果某一張數據表在很長一段時間內沒有進行數據結轉,且無法創(chuàng)建分區(qū)表的話,可以利用以下方法。

?

表名切換

如果某一張數據表在很長一段時間內沒有進行數據結轉,可以創(chuàng)建臨時表,通過大數據將某一結轉周期內數據推送至臨時表,在代碼層面進行數據的雙寫,最后再通過表名更換的方式進行表名轉換。其實,治理磁盤碎片最好的方法就是刪除表,不同業(yè)務對數據的要求不同。如果有可能的話新建一個臨時表。

利用rename語句對數據庫表信息進行修改,不會鎖表,可以達到零延遲,無抖動,對線上無任何影響。

wKgZombNf56AMgbUAAQwDHqV6Cg590.png

rename table xx_record to xx_record_temp1,xx_temp to xx_record,xx_record_temp1 to xx_record_temp;

總結

不管是使用云還是商城數據庫,只要使用mysql,必然會遇到Mysql碎片問題痛點,數據量大的業(yè)務表應該設計成分區(qū)表方便磁盤碎片整理,降低維護成本和業(yè)務影響。碎片清理前后,IO性能會上升,SQL執(zhí)行效率更快。所以,在日常運維工作中,應對碎片進行定期清理,保證數據庫有穩(wěn)定的性能和充足的空間。

擴展

提到提高IO性能,在緊急情況下還可以考慮開啟刷盤(設置 sync_binlog=0;innodb_flush_log_at_trx_commit=0),但開啟刷盤會有數據丟失風險(集團數據庫模板配置參數默認sync_binlog=1;innodb_flush_log_at_trx_commit=1)。

附件

mysql數據庫核心參數介紹:https://www.cnblogs.com/klvchen/p/10861850.html?

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 數據庫
    +關注

    關注

    7

    文章

    4019

    瀏覽量

    68337
  • 磁盤碎片整理

    關注

    0

    文章

    2

    瀏覽量

    5583
  • MySQL
    +關注

    關注

    1

    文章

    905

    瀏覽量

    29517
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    磁盤IO問題的定位根因與調優(yōu)解決思路

    監(jiān)控大屏上 iowait 突然飆到 80%,SSH 連上去敲個 ls 要等 5 秒才有響應,業(yè)務日志瘋狂報超時,數據庫慢查詢告警刷屏。這種場景在 SRE 的日常里出現頻率極高,尤其是跑著 MySQL
    的頭像 發(fā)表于 02-24 14:11 ?316次閱讀

    Linux磁盤管理指令合集:從查看、分區(qū)到修復

    在 Linux 服務器運維或日常使用中,磁盤管理是高頻操作 —— 無論是排查磁盤空間不足的問題,還是新增硬盤后的分區(qū)配置,都離不開一系列核心指令。今天就為大家整理一份「Linux 磁盤
    的頭像 發(fā)表于 02-03 16:07 ?1937次閱讀
    Linux<b class='flag-5'>磁盤</b>管理指令合集:從查看、分區(qū)到修復

    RAID 1≠備份! RAID1正確操作指南與致命誤區(qū)全解析 #RAID #RAID1 #磁盤陣列

    磁盤
    ICY DOCK硬盤盒
    發(fā)布于 :2026年01月30日 16:28:24

    恒訊科技解析:如何安裝MySQL并創(chuàng)建數據庫

    安裝和管理MySQL不必復雜。只需幾分鐘,你就能在Linux服務器上搭建MySQL,創(chuàng)建第一個數據庫,甚至自動化備份——同時確保數據安全有序。 什么是 MySQL? MySQL 是一個
    的頭像 發(fā)表于 01-14 14:25 ?174次閱讀

    工業(yè)數據中臺支持接入MySQL數據庫嗎

    工業(yè)數據中臺完全支持接入MySQL數據庫 ,且通過數據同步、集成與治理等技術手段,能夠充分發(fā)揮MySQL在數據存儲與事務處理方面的優(yōu)勢,同時彌補其在數據分析與共享能力上的不足,具體分析如下: 技術
    的頭像 發(fā)表于 12-04 11:23 ?374次閱讀
    工業(yè)數據中臺支持接入<b class='flag-5'>MySQL</b>數據庫嗎

    CentOS 7下MySQL 8雙主熱備高可用架構全解

    Centos7部署MySQL8+keepalived雙主熱備(含Keepalived配置與GTID同步優(yōu)化方案) 架構拓撲原理 GTID同步 VIP 192.168.1.100 MySQL主節(jié)點1
    的頭像 發(fā)表于 08-12 17:08 ?830次閱讀

    MySQL配置調優(yōu)技巧

    上個月,我們公司的核心業(yè)務系統突然出現大面積超時,用戶投訴電話不斷。經過緊急排查,發(fā)現是MySQL服務器CPU飆升到99%,大量慢查詢堆積。通過一系列配置調優(yōu)和SQL優(yōu)化,最終在30分鐘內恢復了服務。
    的頭像 發(fā)表于 07-31 10:27 ?604次閱讀

    MySQL 8.0性能優(yōu)化實戰(zhàn)指南

    作為一名運維工程師,MySQL數據庫優(yōu)化是我們日常工作中最具挑戰(zhàn)性的任務之一。MySQL 8.0作為當前主流版本,在性能、安全性和功能上都有了顯著提升,但如何充分發(fā)揮其潛力,仍需要我們掌握正確的優(yōu)化策略。
    的頭像 發(fā)表于 07-24 11:48 ?848次閱讀

    MySQL的組成結構與結構化查詢語言詳解

    MySQL作為世界上最流行的開源關系型數據庫管理系統,采用了分層架構設計
    的頭像 發(fā)表于 07-14 11:21 ?639次閱讀

    MySQL數據備份與恢復策略

    數據是企業(yè)的核心資產,MySQL作為主流的關系型數據庫管理系統,其數據的安全性和可靠性至關重要。本文將深入探討MySQL的數據備份策略、常用備份工具以及數據恢復的最佳實踐,幫助運維工程師構建完善的數據保護體系。
    的頭像 發(fā)表于 07-14 11:11 ?726次閱讀

    企業(yè)級MySQL數據庫管理指南

    在當今數字化時代,MySQL作為全球最受歡迎的開源關系型數據庫,承載著企業(yè)核心業(yè)務數據的存儲與處理。作為數據庫管理員(DBA),掌握MySQL的企業(yè)級部署、優(yōu)化、維護技能至關重要。本文將從實戰(zhàn)角度出發(fā),系統闡述MySQL在企業(yè)環(huán)
    的頭像 發(fā)表于 07-09 09:50 ?717次閱讀

    Linux系統中磁盤分區(qū)與掛載詳解

    磁盤分區(qū)是將物理硬盤劃分為不同的邏輯部分,每個分區(qū)都可以被視為一個獨立的存儲設備。通過磁盤分區(qū),我們可以更好地管理磁盤空間,實現數據的組織和隔離。
    的頭像 發(fā)表于 06-17 15:08 ?2468次閱讀
    Linux系統中<b class='flag-5'>磁盤</b>分區(qū)與掛載詳解

    MySQL數據庫是什么

    MySQL數據庫是一種 開源的關系型數據庫管理系統(RDBMS) ,由瑞典MySQL AB公司開發(fā),后被Oracle公司收購。它通過結構化查詢語言(SQL)進行數據存儲、管理和操作,廣泛應用于Web
    的頭像 發(fā)表于 05-23 09:18 ?1203次閱讀

    除了增刪改查你對MySQL還了解多少

    我們都知道MySQL服務器的默認端口為3306,之后就在這個端口號上等待客戶端進程進行連接(MySQL服務器會默認監(jiān)聽3306端口)。
    的頭像 發(fā)表于 04-14 17:20 ?719次閱讀

    晶圓甩干機如何降低碎片

    在半導體制造過程中,晶圓甩干機發(fā)揮著至關重要的作用。然而,晶圓甩干過程中的碎片問題一直是影響生產效率和產品質量的關鍵因素之一。晶圓作為半導體器件的載體,其完整性對于后續(xù)的制造工藝至關重要。即使是極小
    的頭像 發(fā)表于 03-25 10:49 ?909次閱讀