Jak skutecznie usuwać wiersze, NIE używając tabeli obciętych w tabeli 500 000+ wierszy
Powiedzmy, że mamy stółObroty z 30 kolumnami i 500 000 wierszy. Chciałbym usunąć 400 000 w tabeli (gdzie"toDelete='1'"
).
Ale mam kilka ograniczeń:
tabela jest odczytywana / zapisywana „często” i nie chciałbym, aby długie „usuwanie” zajmowało dużo czasu i blokowało stół zbyt długoMuszę pominąć dziennik transakcji (jak w przypadkuTRUNCATE
) ale podczas robienia"DELETE ... WHERE..."
(Muszę umieścić warunek), ale nie znalazłem sposobu, aby to zrobić ...Każda rada byłaby mile widziana do przekształcenia
DELETE FROM Sales WHERE toDelete='1'
do czegoś bardziej podzielonego na partycje i prawdopodobnie bez transakcji.