Cómo eliminar filas de manera eficiente sin usar Truncate Table en una tabla de más de 500,000 filas

Digamos que tenemos mesaVentas Con 30 columnas y 500.000 filas. Me gustaría borrar 400,000 en la tabla (aquellos donde"toDelete='1'").

Pero tengo algunas limitaciones:

la tabla se lee / escribe "a menudo" y no me gustaría que una "eliminación" larga tome mucho tiempo y bloquee la tabla durante demasiado tiempoNecesito omitir el registro de transacciones (como con unTRUNCATE) pero mientras hace un"DELETE ... WHERE..." (Necesito poner una condición), pero no he encontrado ninguna manera de hacer esto ...

Cualquier consejo sería bienvenido para transformar un

DELETE FROM Sales WHERE toDelete='1'

a algo más particionado y posiblemente registro de transacciones gratis.

Respuestas a la pregunta(8)

Su respuesta a la pregunta