Múltiples inserciones con XML vs INSERT ... VALUES ... SELECT ... UNION ALL
-
28-10-2019 - |
Pregunta
Para SQL Server 2005, si quiero insertar unas 20 o 30 filas cada una con tres columnas, ¿qué enfoque es más rápido y eficiente?La aplicación de llamada es una aplicación de consola C # 4.0 .Net.
a) Pasar los valores como XML a un proceso almacenado y analizarlo y hacer la inserción
O
b) Construya un comando SQL con INSERT...VALUES... SELECT() UNION ALL
como se sugiere aquí: SQL Server2005: ¿Insertar varias filas con una sola consulta ?
Gracias.
Solución
¿Los probaste?Para ser honesto, para 20 o 30 filas, sería muy difícil encontrar una diferencia.A mayor escala, esperaría que el costo de datos y análisis adicionales involucrados con XML para extraer datos la convirtiera en la opción menos eficiente.En SQL Server 2008 hay un constructor VALUES()
más eficiente que no requiere UNION ALL
, y también hay un nuevo enfoque llamado parámetros con valores de tabla.