我在 SQL 2008 中有一个数据库,其中有超过 200 万行(它是从 CSV 创建的)。我正在尝试删除具有唯一数据的行。每当我运行它时,它都会说大约有 12000 - 13000 行受到影响。如何删除我想要在 1 个步骤中删除的所有行,而不是每次都执行它?我知道每次 b/c 我经常对其进行计数时它都会删除行。它将永远以我正在前进的速度带走我。可以修改此代码以执行我需要的操作吗?
WITH numbered AS (
SELECT ROW_NUMBER() OVER(PARTITION BY name, size, lastwritetime
ORDER BY name, size, lastwritetime)
AS _dupe_num FROM AllFiles
WHERE name = name
AND size = size
AND lastwritetime = lastwritetime
)
DELETE FROM numbered WHERE _dupe_num = 1;