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;