ver tipos sirven registro que procesos para monitorear los eliminar ejemplo detectar colgados bloqueos bloqueo bloquear sql-server-2005 insert

sql-server-2005 - sirven - tipos de bloqueos sql server



¿Cuál es el beneficio de la actualización en lugar de eliminar y luego insertar en la misma tabla? (7)

Tengo una tabla que dice ejemplo "ABC", tengo una fila que necesita ser almacenada en esta tabla "ABC". Planeo actualizarlo en lugar de eliminar de la tabla y luego insertarlo. ¿Cuál es el impacto que esto tendrá en la base de datos? En, nivel de tabla, nivel de página, tiempo, costo y todo.


La actualización es la forma más sencilla y rápida de actualizar una tabla.


La ventaja clave de utilizar UPDATE en lugar de DELETE / INSERT es que puede elegir actualizar solo los campos modificados en la fila (que es significativamente más rápido que un DELETE seguido de un INSERT).


No estoy 100% seguro de lo que estás preguntando, pero tomaré una foto en la oscuridad. Hacer un DELETE y luego un INSERT en una tabla para actualizar la información es una muy mala idea.

¿Por qué? Porque si tiene otra tabla con una clave externa que hace referencia a ABC, perderá su referencia. Eso es, por supuesto, a menos que configure el PK del nuevo registro con el mismo PK que el anterior (eliminado). En ese caso, ¿por qué no acaba de ACTUALIZAR en primer lugar?

Además, BORRAR y luego INSERTAR es dos operaciones, mientras que ACTUALIZAR es una, lo que hace que ELIMINAR e INSERTAR tomen (en teoría) más tiempo.

También está el factor de facilidad de uso. Si ELIMINA y luego INSERTAR, debe realizar un seguimiento manual de cada valor de columna. Si ACTUALIZA, solo necesita saber lo que quiere cambiar.


También uno de los beneficios de ACTUALIZAR está en la definición real de una base de datos ACID: Atomicidad.


Una actualización cambiará la fila existente, que es una operación simple, mientras que una eliminación seguida de una inserción será más trabajo para la base de datos.

Además, eliminar e insertar puede destruir las referencias a sus filas si usa columnas de identidad.

Editar: en realidad, hay momentos en los que deseará hacer una eliminación e insertar en lugar de una actualización. Podría ser para simplificar su lógica si no sabe si existe la información que se actualizará. Entonces sería más fácil realizar una eliminación y luego hacer una inserción que verificar si la fila existe y luego hacer una actualización o una inserción basada en el resultado de la verificación.

Además, es posible que desee que las columnas de identidad se actualicen en función de cómo lo use (si lo usa para realizar un seguimiento de los últimos cambios en una tabla, por ejemplo).

Pero en general, hacer una actualización es menos trabajo que una operación de eliminación e inserción, por lo que siempre debería usarla si puede.


Las operaciones DELETE & INSERT tardan más tiempo en comparar con UPDATE. Piense si quiere cambiar solo una columna en la fila. Luego, DELETE e INSERT será complicado.


Se prefiere ACTUALIZAR, obviamente, pero dependiendo de RDBMS ELIMINAR-INSERTAR se utiliza para evitar el BLOQUEO, por lo que puede servir para un gran volumen de accesos concurrentes. Es una técnica común.

Algunos DB usan un registro de tamaño fijo en el disco, por lo que UPDATE es rápido. Es una operación en el lugar. Algunos otros DB usan registros de tamaño variable. En dicha base de datos, DELETE / INSERT no difiere mucho de UPDATE porque UPDATE realmente marca la antigua tupla / índice muerto, escribe una nueva tupla, luego deja que el recolector de basura recupere las tuplas muertas más tarde.