Effizientes Löschen von Zeilen, ohne die Funktion "Tabelle abschneiden" in einer Tabelle mit mehr als 500.000 Zeilen zu verwenden

Nehmen wir an, wir haben einen TischDer Umsatz mit 30 Spalten und 500.000 Zeilen. Ich möchte 400.000 in der Tabelle löschen (die wo"toDelete='1'").

Aber ich habe ein paar Einschränkungen:

Die Tabelle wird "oft" gelesen / geschrieben, und ich möchte nicht, dass ein langes "Löschen" lange dauert und die Tabelle zu lange sperrtIch muss das Transaktionslog überspringen (wie bei einemTRUNCATE) aber dabei a"DELETE ... WHERE..." (Ich muss eine Bedingung stellen), habe aber keinen Weg gefunden, dies zu tun ...

Jeder Rat wäre willkommen, um eine zu verwandeln

DELETE FROM Sales WHERE toDelete='1'

zu etwas mehr partitioniert und möglicherweise Transaktionsprotokoll frei.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage