sql >> Base de Datos >  >> RDS >> Sqlserver

Eliminación de grandes cantidades de datos de SQL Server 2008

Tu pregunta es bastante vaga, pero creo que estás diciendo esto:

  • Puedo INSERTAR datos en mi base de datos
  • Actualizar mis datos parece difícil, por lo que preferiría simplemente ELIMINAR y luego INSERTAR nuevamente (porque ya escribí ese código)

Diría que es una mala idea, por las siguientes razones (y sin duda muchas más):

  • Incluso si solo ELIMINA, aún necesita identificar las filas correctas para eliminar, eliminar de las tablas en el orden correcto, etc. Por lo tanto, es poco probable que ahorre mucho tiempo de todos modos
  • Agregará complejidad innecesaria y trabajo de mantenimiento adicional a la aplicación:manejo de transacciones, código adicional para mantener, cambios de permisos, etc.
  • Agregar lógica del lado del servidor a la base de datos en forma de disparadores y/o procedimientos será más difícil porque una ELIMINACIÓN ya no necesariamente significa realmente ELIMINAR, podría significar el comienzo de una ACTUALIZACIÓN (quiero decir lógicamente, no físicamente) y eso es una gran molestia de mantener, además de potencialmente romper cualquier código, rastro o auditoría que se base en acciones o eventos de DML
  • La base de datos necesitará realizar más registros porque ha dividido una operación en dos

Tal vez tengas buenas razones para querer evitar una ACTUALIZACIÓN, pero "es difícil de escribir" no debería ser una de ellas (disculpas si estoy simplificando demasiado tu situación).

Puede obtener una respuesta más útil si explica exactamente lo que es "difícil", proporciona algunos antecedentes sobre lo que significa una "gran cantidad de datos", muestra algunas estructuras de tabla y código que ilustran sus dificultades, etc.