删除千万级表中重复记录的办法
生活随笔
收集整理的這篇文章主要介紹了
删除千万级表中重复记录的办法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. ? 選擇候選鍵,60個字段,應該只用其中幾個就可以判斷重復了吧。 ?
? 在候選鍵的這些字段上建立索引。???
??????????CREATE?? TRIGGER?? tr_歷史交易表??
????????? ON?? 歷史交易表??
????????? FOR?? DELETE????
????????? AS????
????????? INSERT?? INTO?? 歷史交易表??
????????? SELECT?? DISTINCT?? *?? FROM?? deleted??
????????? GO????
???????????
????????? DELETE?? 歷史交易表??
????????? FROM??
????????? (??
????????????? SELECT?? 候選鍵1,?? 候選鍵2,?? 候選鍵3??
????????????? FROM?? 歷史交易表??
????????????? GROUP?? BY?? 候選鍵1,?? 候選鍵2,?? 候選鍵3??
????????????? HAVING?? COUNT(*)?? >?? 1??
????????? )?? t??
????????? INNER?? JOIN?? 歷史交易表?? a????
????????? ON?? t.候選鍵1?? =?? a.候選鍵1????
????????? AND?? t.候選鍵2?? =?? a.候選鍵2????
????????? AND?? t.候選鍵3?? =?? a.候選鍵3
? 在候選鍵的這些字段上建立索引。???
??????????CREATE?? TRIGGER?? tr_歷史交易表??
????????? ON?? 歷史交易表??
????????? FOR?? DELETE????
????????? AS????
????????? INSERT?? INTO?? 歷史交易表??
????????? SELECT?? DISTINCT?? *?? FROM?? deleted??
????????? GO????
???????????
????????? DELETE?? 歷史交易表??
????????? FROM??
????????? (??
????????????? SELECT?? 候選鍵1,?? 候選鍵2,?? 候選鍵3??
????????????? FROM?? 歷史交易表??
????????????? GROUP?? BY?? 候選鍵1,?? 候選鍵2,?? 候選鍵3??
????????????? HAVING?? COUNT(*)?? >?? 1??
????????? )?? t??
????????? INNER?? JOIN?? 歷史交易表?? a????
????????? ON?? t.候選鍵1?? =?? a.候選鍵1????
????????? AND?? t.候選鍵2?? =?? a.候選鍵2????
????????? AND?? t.候選鍵3?? =?? a.候選鍵3
轉載于:https://www.cnblogs.com/19850505/archive/2009/10/31/1593453.html
總結
以上是生活随笔為你收集整理的删除千万级表中重复记录的办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个ASP页面访问需要输入密码后才可以继
- 下一篇: 山海演武传·黄道·第一卷 雏龙惊蛰 第二