欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL清理數(shù)據(jù)并釋放磁盤空間的實(shí)現(xiàn)示例

 更新時(shí)間:2023年07月12日 08:32:15   作者:楊同學(xué)technotes  
本文主要介紹了MySQL如何清理數(shù)據(jù)并釋放磁盤空間,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在我們的生產(chǎn)環(huán)境中有一張表:courier_consume_fail_message,是存放消息消費(fèi)失敗的數(shù)據(jù)的,設(shè)計(jì)之初,這張表的數(shù)據(jù)量評(píng)估在萬級(jí)別以下,因此沒有建立索引。

但目前發(fā)現(xiàn),該表的數(shù)據(jù)量已經(jīng)達(dá)到百萬級(jí)別,原因產(chǎn)生了大量的重試消費(fèi),這導(dǎo)致了該表的慢查詢。

因此需要清理該表數(shù)據(jù)。而實(shí)際上,使用 DELETE 命令刪除數(shù)據(jù)后,我們發(fā)現(xiàn)查詢速度并沒有顯著提高,甚至可能會(huì)降低。為什么?

因?yàn)?DELETE 命令只是標(biāo)記該行數(shù)據(jù)為“已刪除”狀態(tài),并不會(huì)立即釋放該行數(shù)據(jù)在磁盤中所占用的存儲(chǔ)空間,這樣就會(huì)導(dǎo)致數(shù)據(jù)文件中存在大量的碎片,從而影響查詢性能。所以,除了刪除表記錄外,還需要清理磁盤碎片。

在表碎片清理前,我們關(guān)注以下四個(gè)指標(biāo)。

  • 指標(biāo)一:表的狀態(tài):SHOW TABLE STATUS LIKE 'courier_consume_fail_message';
  • 指標(biāo)二:表的實(shí)際行數(shù):SELECT count(*) FROM courier_consume_fail_message;
  • 指標(biāo)三:要清理的行數(shù):SELECT count(*) FROM courier_consume_fail_message where created_at < '2023-04-19 00:00:00';
  • 指標(biāo)四:表查詢的執(zhí)行計(jì)劃:EXPLAIN SELECT * FROM courier_consume_fail_message WHERE service='courier-transfer-mq';
?-- 清理磁盤碎片
?OPTIMIZE TABLE courier_consume_fail_message;

以下是清理前后的指標(biāo)對(duì)比。

一、清理前

指標(biāo)一,表的狀態(tài):

img

指標(biāo)二,表的實(shí)際行數(shù):76986

指標(biāo)三,要清理的行數(shù):76813

指標(biāo)四,表查詢的執(zhí)行計(jì)劃:

二、清理數(shù)據(jù)

下面是執(zhí)行 DELETE FROM courier_consume_fail_message WHERE created_at < '2023-04-19 00:00:00'; 后的統(tǒng)計(jì)。

指標(biāo)一,表的狀態(tài):

img

指標(biāo)二,表的實(shí)際行數(shù):173

指標(biāo)三,要清理的行數(shù):0

指標(biāo)四,表查詢的執(zhí)行計(jì)劃:

img

通過指標(biāo)四可以看到,清理表記錄后,查詢掃描的行數(shù)依然沒變:8651048。

三、清理碎片

下面是執(zhí)行 OPTIMIZE TABLE courier_consume_fail_message; 后的統(tǒng)計(jì)。

指標(biāo)一,表的狀態(tài):

img

指標(biāo)四,表查詢的執(zhí)行計(jì)劃:

img

通過指標(biāo)四可以看到,清理表記錄后,查詢掃描的行數(shù)變成了 100。

小結(jié)

可以看到,該表的數(shù)據(jù)行數(shù)和數(shù)據(jù)長度都被清理了,查詢語句掃描的行數(shù)也減少了。

為了提升 SELECT * FROM courier_consume_fail_message WHERE service='courier-transfer-mq'; 語句的查詢效率,還是應(yīng)當(dāng)建立索引。

?alter` `table` `ec_courier.courier_consume_fail_message ``add` `index` `idx_service(service);

到此這篇關(guān)于MySQL清理數(shù)據(jù)并釋放磁盤空間的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)MySQL 清理數(shù)據(jù)并釋放磁盤空間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 簡述MySQL分片中快速數(shù)據(jù)遷移

    簡述MySQL分片中快速數(shù)據(jù)遷移

    這篇文章主要介紹了MySQL分片中快速數(shù)據(jù)遷移的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • Mysql添加、刪除、主鍵(外鍵)方法詳細(xì)講解

    Mysql添加、刪除、主鍵(外鍵)方法詳細(xì)講解

    MySQL是一種廣泛使用的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在數(shù)據(jù)庫設(shè)計(jì)中主鍵和外鍵是兩個(gè)重要的概念,下面這篇文章主要給大家介紹了關(guān)于Mysql添加、刪除、主鍵(外鍵)方法的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • 總結(jié)MySQL的分區(qū)

    總結(jié)MySQL的分區(qū)

    本文先是介紹了分區(qū),而后又分別說明了怎樣判斷是否支持分區(qū)和如何刪除增加分區(qū),對(duì)分區(qū)的總結(jié)很詳細(xì),下面一起來看看吧。
    2016-08-08
  • MySQL會(huì)發(fā)生死鎖的幾種情況及處理方法

    MySQL會(huì)發(fā)生死鎖的幾種情況及處理方法

    數(shù)據(jù)庫的死鎖是指不同的事務(wù)在獲取資源時(shí)相互等待,導(dǎo)致無法繼續(xù)執(zhí)行的一種情況,當(dāng)發(fā)生死鎖時(shí),數(shù)據(jù)庫系統(tǒng)會(huì)自動(dòng)中斷其中一個(gè)事務(wù),以解除死鎖,本文給大家介紹了MySQL什么情況下會(huì)死鎖,發(fā)生了死鎖怎么處理呢,需要的朋友可以參考下
    2023-09-09
  • 詳解MySql自連接,外連接,內(nèi)連接?,左連接,右連接

    詳解MySql自連接,外連接,內(nèi)連接?,左連接,右連接

    這篇文章主要介紹了詳解MySql自連接,外連接,內(nèi)連接?,左連接,右連接,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • MySQL數(shù)據(jù)庫運(yùn)維之?dāng)?shù)據(jù)恢復(fù)的方法

    MySQL數(shù)據(jù)庫運(yùn)維之?dāng)?shù)據(jù)恢復(fù)的方法

    本篇文章主要介紹了MySQL數(shù)據(jù)庫運(yùn)維之?dāng)?shù)據(jù)恢復(fù)的方法,此處總結(jié)一下恢復(fù)方案,并結(jié)合數(shù)據(jù)庫的二進(jìn)制日志做下數(shù)據(jù)恢復(fù)的示范。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • MySQL更改數(shù)據(jù)字段的前幾位數(shù)字的方法示例

    MySQL更改數(shù)據(jù)字段的前幾位數(shù)字的方法示例

    本文主要介紹了MySQL更改數(shù)據(jù)字段的前幾位數(shù)字的方法示例,包括使用SUBSTRING函數(shù)、REPLACE函數(shù)、LEFT函數(shù),還是正則表達(dá)式或者CASE語句,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • MySQL定時(shí)任務(wù)不能正常執(zhí)行的原因分析及解決方法

    MySQL定時(shí)任務(wù)不能正常執(zhí)行的原因分析及解決方法

    大家好,本篇文章主要講的是MySQL定時(shí)任務(wù)不能正常執(zhí)行的原因分析及解決方法,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 遠(yuǎn)程登錄MySQL服務(wù)(小白入門篇)

    遠(yuǎn)程登錄MySQL服務(wù)(小白入門篇)

    這篇文章主要為大家介紹了遠(yuǎn)程登錄MySQL服務(wù)(小白入門篇)
    2023-05-05
  • MySQL SHOW PROCESSLIST協(xié)助故障診斷全過程

    MySQL SHOW PROCESSLIST協(xié)助故障診斷全過程

    這篇文章主要給大家介紹了關(guān)于MySQL SHOW PROCESSLIST協(xié)助故障診斷的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02

最新評(píng)論