Digamos que tenemos la tabla Ventas con 30 columnas y 500,000 filas. Me gustaría eliminar 400,000 en la tabla (aquellos donde "toDelete='1'"
).Cómo eliminar filas de manera eficiente mientras NO se usa Truncar tabla en una tabla de más de 500,000 filas
Pero tengo unas pocas restricciones:
- la tabla se lee/escribe "a menudo" y no me gustaría mucho "eliminar" a tomar mucho tiempo y bloquear la tabla durante demasiado tiempo
- tengo que saltar el registro de transacciones (como con un
TRUNCATE
), pero mientras se hace un"DELETE ... WHERE..."
(tengo que poner una condición), pero no he encontrado ninguna manera de hacer esto ...
cualquier consejo ser bienvenido a transformar un
DELETE FROM Sales WHERE toDelete='1'
a algo más particionado & posiblemente registro de transacciones gratis.
¿Por qué necesita para omitir el registro de transacciones? –
Le agradecería que, una vez que haya terminado, publique la solución óptima (o al menos la que mejor funcionó para usted). –
@ thecoon: definitivamente lo haré. Gracias a ALL por sus diversas respuestas complementarias. –