sql >> Database teknologi >  >> RDS >> Sqlserver

DELETE-kommandoen er for langsom i en tabel med grupperet indeks

Det kan være langsomt, fordi en stor sletning genererer en stor transaktionslog. Prøv at slette det i bidder, f.eks.:

WHILE 1 = 1
BEGIN
    DELETE TOP (256) FROM FTPLog WHERE FTPLogId <= @MaxFTPLogId
    IF @@ROWCOUNT = 0
        BREAK
END

Dette genererer mindre transaktioner. Og det afbøder låseproblemer ved at skabe pusterum for andre processer.

Du kan også se på partitionerede tabeller . Disse giver dig potentielt mulighed for at slette gamle poster ved at droppe en hel partition.



  1. Sådan installeres Libreoffice på Ubuntu 16.04

  2. SHA256 i T-sql lagret procedure

  3. streng svarende til Sum for at sammenkæde

  4. Skal jeg køre mysql på google cloud run? (eller enhver database)