利用 pt-archiver 歸檔 關(guān)聯(lián)表

開篇

??又是好久沒有寫博客了,今天就寫一個在數(shù)據(jù)歸檔中的小經(jīng)驗吧!

背景

??最近一周接到一個小任務(wù),就是對一些業(yè)務(wù)表中的冷數(shù)據(jù)做歸檔.
??在對有歸檔需求的業(yè)務(wù)表分析和梳理后,發(fā)現(xiàn)這些業(yè)務(wù)表中有50%冷數(shù)據(jù),歸檔后表大小都能從千萬級別的大表縮減為百萬數(shù)據(jù)的表.歸檔工作的收益還是非常明顯的.我們搞起來!

坎坷

??在一波咨詢和溝通后,發(fā)現(xiàn) DBA 未用過 pt-archiver 對一些關(guān)聯(lián)表做歸檔......
??在一波搜索后在官網(wǎng)找到了方案,使用 NOT EXISTS(~), 但這是什么?要怎么做?都沒有說


官網(wǎng)示例

??但是官網(wǎng)只是簡單的給了給示例并沒有詳細(xì)介紹,如何操作,繼續(xù)搜索,發(fā)現(xiàn)了下面的東西
其他示例1

其他示例2

??睿智的你一定發(fā)現(xiàn)了,這些文章基本是翻譯和搬運了官網(wǎng)的文檔,并沒有什么借鑒和實用意義.
到了這時,我們就需要開動大腦來想想辦法了!!!

解決方案

??解決方案那就是 --> 理解子表中孤立行的含義

 1. 先歸檔主表數(shù)據(jù)(刪除主表原有的冷數(shù)據(jù)) 
 2. 主表歸檔完后,子表中使用關(guān)聯(lián)字段在主表查詢?yōu)閚ull的數(shù)據(jù),就是官網(wǎng)所定義的{子表中的孤立行}.
 3. 利用主表的數(shù)據(jù)已被清空,使用 NOT EXISTS  語句和關(guān)聯(lián)字段 ,對子表做歸檔操作
      NOT EXISTS(SELECT * FROM 主表 c WHERE 子表.key=c.key)

??是不是感覺很簡單,也沒什么內(nèi)容,的確! 但是這么簡單的東西沒有人寫明白,寫清楚,就給了我寫文章的機會.

End

??希望這篇歸檔短文能給您提供一些思路和幫助,共勉!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容