高效刪除mysql重複數據

項目數據庫中有大量重複數據,爲刪除試了很多種方法,最終發現給表 
添加一個聯合唯一索引 即可解決,速度快上幾十倍

數據庫中有十幾萬數據,使用幾種delete方法刪除重複的數據耗時比較長,運行語句,半天出不來

mysql 給表添加唯一索引 完成重複記錄刪除

不希望數據表中有重複記錄的時候我們可以給表添加一個聯合唯一索引
例如,user表中有user_id,user_name兩個字段,如果不希望有兩條一摸一樣的的user_id和user_name,我們可以給user表添加兩個字段的聯合唯一索引:

alter table user add unique index(user_id,user_name);

這樣當向表中添加相同記錄的時候,會返回1062的添加失敗信息。
但是有一種情況是表中已經有n個重複的記錄,這時候我們纔想起來要添加唯一索引,再執行上面的操作時,數據庫會告訴你已經有重複的記錄了,建立索引失敗,這時候,我們可以用下面的操作:

alter ignore table user add unique index(user_id,user_name);

它會刪除重複的記錄(別怕,會保留一條),然後建立唯一索引,高效而且人性化。

原文鏈接:https://eyunzhu.com/822.html

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