在sql server 2012中,我有一个包含超过2500万行重复项的表。该表没有唯一索引。它只有一个非聚集索引。我想消除重复,所以,我想到下面的
select distinct * into #temp_table from primary_table
truncate primary_table
select * into primary_table from #temp_table
我想知道选择distinct *查询有多贵。如果我上面的程序非常昂贵,我想知道是否还有其他方法。
答案 0 :(得分:4)
我不知道它有多贵,但另一种方法是使用主键创建另一个表,在那里插入所有数据并静默拒绝重复项,如此处所述
基本上,使用IGNORE_DUP_KEY