[MySQL Help]答朋友問:5000W記錄的Innodb表如何快速的去重複資料

mchdba發表於2014-02-25
朋友問: 
5000萬資料的一張表,怎麼去重快,根據兩個欄位判斷是否重複。
  
  

回覆之:
把2個欄位以及主鍵id select 出來建立一張臨時表t1,
t1建立好主鍵索引以及2個對比的欄位聯合索引。
  

然後在臨時表裡面 比對重複的記錄,
把重複的記錄錄入第二張臨時表t2,t2表結構和t1一模一樣。
   

然後根據你的業務來決定如何處理t2表裡面的重複記錄,用t2關聯原來的5000W記錄的表來進行處理,
大概通常的是group by2個欄位,取出主鍵id較大的值的記錄刪除掉。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26230597/viewspace-1088836/,如需轉載,請註明出處,否則將追究法律責任。

相關文章