【发布时间】:2013-08-27 09:47:10
【问题描述】:
我知道这个话题在此之前已经多次出现,但没有一个建议的解决方案适用于我的数据集,因为我的笔记本电脑由于内存问题或存储空间已满而停止计算。
我的表如下所示,并且有 108 Mio 行:
Col1 |Col2 | Col3 |Col4 |SICComb | NameComb
Case New |3523 | Alexander |6799 |67993523| AlexanderCase New
Case New |3523 | Undisclosed |6799 |67993523| Case NewUndisclosed
Undisclosed|6799 | Case New |3523 |67993523| Case NewUndisclosed
Case New |3523 | Undisclosed |6799 |67993523| Case NewUndisclosed
SmartCard |3674 | NEC |7373 |73733674| NECSmartCard
SmartCard |3674 | Virtual NetComm|7373 |73733674| SmartCardVirtual NetComm
SmartCard |3674 | NEC |7373 |73733674| NECSmartCard
唯一的列是SICComb 和NameComb。我尝试添加主键:
ALTER TABLE dbo.test ADD ID INT IDENTITY(1,1)
但在新的几分钟内,我的存储空间已超过 30 GB。
从表中删除重复项最快和最有效的方法是什么?
【问题讨论】:
-
@user2713440 你对重复的定义是什么?当所有列都相同时?或者当 SICComb 和 NameComb 相同时?
-
当 SICComb 和 NameComb 相同时。
-
那你如何决定保留哪一个?
标签: sql-server sql-server-2008 tsql duplicates