sql >> Database >  >> RDS >> Sqlserver

Hoe rijen efficiënt te verwijderen zonder Truncate Table te gebruiken in een tabel met meer dan 500.000 rijen?

Aanroepen van DELETE FROM TableName zal de volledige verwijdering in één grote transactie doen. Dit is duur.

Hier is een andere optie die rijen in batches zal verwijderen:

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


  1. MySQL-tijdstempel alleen bij aanmaken

  2. Verwijder dubbele rijen in MySQL

  3. MySQL Toon datadictionary van tabellen

  4. SQL Server - Cumulatieve som die wordt gereset wanneer 0 wordt aangetroffen