¿Qué es más rápido: insertar 200,000 filas de datos o actualizar 200,000 filas de datos SQL?

Las actualizaciones en el servidor SQL dan como resultado filas fantasma, es decir, SQL tacha una fila y coloca una nueva. La fila tachada se elimina más tarde.

Tanto las inserciones como las actualizaciones pueden causar divisiones de página de esta manera, ambas efectivamente ‘agregan’ datos, es solo que las actualizaciones marcan primero las cosas viejas.

Además de esto, las actualizaciones deben buscar primero la fila, que para muchos datos puede llevar más tiempo que la actualización.

Las inserciones siempre serán más rápidas, especialmente si están en orden o si la tabla subyacente no tiene un índice agrupado.

Cuando inserte grandes cantidades de datos en una tabla, observe los índices actuales: pueden tomar un tiempo cambiar y construir. Agregar valores en el medio de un índice siempre es más lento.

Puede pensar que es como agregar a una libreta de direcciones: el Sr. Z puede agregarse a la última página, mientras que tendrá que encontrar espacio en el medio para el Sr. M.

Estas comparando manzanas y naranjas.
INSERTAR siempre es más rápido porque ACTUALIZAR necesariamente requiere un escaneo
(ya sea con ayuda de índices o no) para buscar las filas individuales para
alterar. Por el contrario, el motor de base de datos ya tiene el siguiente
ubicaciones en cada tabla asignadas e identificadas para las acciones INSERTAR
y mantiene esta información en los archivos de control.
INSERT también es más rápido que DELETE e INSERT como sustituto de
ACTUALIZAR por dos razones: no solo se requiere la base de datos para _encontrar_
las filas para ELIMINAR, pero debe mantener DESHACER PARA AMBOS ELIMINAR
e INSERTAR acciones en los registros de rehacer. UNA BORRAR tomará el mismo tiempo
como una ACTUALIZACIÓN en sí misma. Agregar el INSERT adicional adicional solo después
aumenta aún más el diferencial de tiempo.

Fuente: ¿Cuál es la actualización o inserción más rápida en Oracle y POR QUÉ?

Desde mi punto de vista, la actualización será más rápida. Sí, en la actualización debe buscar el registro en particular. Puede llevar más tiempo como si la tabla fuera enorme, pero en caso de indexación primaria y agrupada, su costo general será bajo.

Ahora, a medida que la tabla crece, se vuelve más costosa y en caso de indexación secundaria, Insering se volverá mucho más lento.

En realidad, depende del tipo de indexación que esté utilizando.

Espero, esta respuesta ayuda!

En SQL, creo que la inserción sería más rápida por la simple razón de que, mientras se inserta, no tiene que buscar nada, sin embargo, para la actualización, primero debe encontrar la tupla de los datos y luego realizar la operación de actualización .

Por lo tanto, insertar es mejor que actualizar.

Creo que los insertos se ejecutarán más rápido. No requieren una búsqueda (cuando haces una actualización, básicamente estás haciendo el equivalente de una selección con la cláusula where). Y también, una inserción no bloqueará las filas de la misma manera que una actualización, por lo que no interferirá con ninguna selección que ocurra en la tabla al mismo tiempo.