0

200 万以上のレコードを持つテーブルに対して以下のコードを実行していますが、NewID() の実行に時間がかかります。

クエリを高速化する別の方法を提案できますか?

DELETE FROM Table1
WHERE ID NOT IN (SELECT TOP 60000 ID FROM Table1 
WHERE flag <> '1'
ORDER BY NEWID()) 
AND
ID NOT IN(SELECT ID FROM Table1
WHERE flag = '1');
4

1 に答える 1

0

これはどうですか... 2倍の速度になるはずです

DELETE FROM Table1
WHERE ID NOT IN (SELECT TOP 60000 ID FROM Table1 
                 WHERE flag <> '1'
                 ORDER BY NEWID()) 
   AND flag != '1';
于 2015-01-09T19:03:17.503 に答える