利用 pt-archiver 歸檔 關聯表

開篇

  又是好久沒有寫博客了,今天就寫一個在數據歸檔中的小經驗吧!

背景

  最近一週接到一個小任務,就是對一些業務表中的冷數據做歸檔.
  在對有歸檔需求的業務表分析和梳理後,發現這些業務表中有50%冷數據,歸檔後表大小都能從千萬級別的大表縮減爲百萬數據的表.歸檔工作的收益還是非常明顯的.我們搞起來!

坎坷

  在一波諮詢和溝通後,發現 DBA 未用過 pt-archiver 對一些關聯表做歸檔......
  在一波搜索後在官網找到了方案,使用 NOT EXISTS(~), 但這是什麼?要怎麼做?都沒有說



  但是官網只是簡單的給了給示例並沒有詳細介紹,如何操作,繼續搜索,發現了下面的東西

  睿智的你一定發現了,這些文章基本是翻譯和搬運了官網的文檔,並沒有什麼借鑑和實用意義.
到了這時,我們就需要開動大腦來想想辦法了!!!

解決方案

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

 1. 先歸檔主表數據(刪除主表原有的冷數據) 
 2. 主表歸檔完後,子表中使用關聯字段在主表查詢爲null的數據,就是官網所定義的{子表中的孤立行}.
 3. 利用主表的數據已被清空,使用 NOT EXISTS  語句和關聯字段 ,對子表做歸檔操作
      NOT EXISTS(SELECT * FROM 主表 c WHERE 子表.key=c.key)

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

End

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章