全球旧事资料 分类
千万级数据库MSSQL删除重复记录
文胡睿在抓取数据后对数据进行操作的途中有时候会碰到重复数据重复数据有时候会导致了数据库部分设置不能正确设置所以就要进行筛选首先有两个意义上的重复记录一是完全重复的记录也即所有字段均重复的记录二是部分关键字段重复的记录比如Name字段重复而其他字段不一定重复或都重复可以忽略对于第一种重复比较容易解决使用selectdisti
ctfromtableName就可以得到无重复记录的结果集如果该表需要删除重复的记录重复记录保留1条可以按以下方法删除selectdisti
cti
toTmpfromtableNamedroptabletableNameselecti
totableNamefromTmpdroptableTmp对于第二种重复我们需要使用以下这种方法假设重复字段为Mobile和U
itNameselectfromtableNamewhereMobilei
selectMobilefromi
fo_user_agroupbyMobilehavi
gcou
tMobile1a
did
oti
selectmi
idfromi
fo_user_agroupbyMobilehavi
gcou
tMobile1a
dU
itNamei
selectU
itNamefromi
fo_user_agroupbyU
itNamehavi
gcou
tU
itName1a
did
oti
selectmi
idfromi
fo_user_agroupbyU
itNamehavi
gcou
tU
itName1这样是得到了重复的数据如果想要删除只需把开头的select改成delete即可接下来是重点如果数据库真的有一千万或者上千万千万别直接对整个库进行操作好点的办法就是把一个库分成多个比如原先有1000W就分成10个100W然后分别对这10个100W的库操作不过如果真的有上千万的数据建议还是改用oracle数据库比较好我用sqlserver2008感觉上都有点吃不消而且还是双核酷睿CPU可能是内存有点小只有2G方法还有很多这只是其中一种而已希望对读者您有帮助
fr
好听全球资料 返回顶部