Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie man Zeilen effizient löscht, ohne Truncate Table in einer Tabelle mit mehr als 500.000 Zeilen zu verwenden

Aufruf von DELETE FROM TableName wird die gesamte Löschung in einer großen Transaktion durchführen. Das ist teuer.

Hier ist eine weitere Option, die Zeilen stapelweise löscht:

deleteMore:
DELETE TOP(10000) Sales WHERE toDelete='1'
IF @@ROWCOUNT != 0
    goto deleteMore