2011-02-08 15 views
12

Tengo aproximadamente 6500 archivos por una suma de aproximadamente 17 GB de datos, y esta es la primera vez que tengo que mover lo que llamaría una gran cantidad de datos. Los datos están en una unidad de red, pero los archivos individuales son relativamente pequeños (máximo 7 MB).SQLBulkCopy o inserción masiva

Estoy escribiendo un programa en C#, y me preguntaba si notaria una diferencia significativa en el rendimiento si utilizo BULK INSERT en lugar de SQLBulkCopy. La tabla en el servidor también tiene una columna adicional, así que si uso BULK INSERT tendré que usar un archivo de formato y luego ejecutar una ACTUALIZACIÓN para cada fila.

Soy nuevo en los foros, así que si hubiera una mejor manera de hacer esta pregunta, no dude en mencionarlo también.

Respuesta

7

Por prueba, BULK INSERT es mucho más rápido. Después de una hora usando SQLBulkCopy, estuve tal vez un cuarto del camino a través de mis datos, y había terminado de escribir el método alternativo (y almorzar). Para el momento en que terminé de escribir esta publicación (~ 3 minutos), BULK INSERT fue aproximadamente un tercio del camino.

Para cualquiera que esté considerando esto como una referencia, también vale la pena mencionar que la carga es más rápida sin una clave principal.

Cabe señalar que una de las principales causas de esto podría ser que el servidor era una computadora significativamente más potente, y que este no es un análisis de la eficacia del algoritmo, sin embargo, recomendaría utilizar BULK INSERT , ya que el servidor promedio es probablemente significativamente más rápido que la computadora de escritorio promedio.

Cuestiones relacionadas