none
Parámetros de tabla VS Foreach RRS feed

  • Pregunta

  • Buenos días, mi problema es que necesito actualizar varias tablas porque en un módulo de mi aplicación se configuran partes del sistema como son permisos y campos opcionales y están en tablas diferentes, las dos opciones que me he planteado para realizar esta operación es:

    1.- Crear una conexión a SQL e iniciar un foreach en el que actualice uno por uno los registros

    2.- Enviar parámetros de tabla(serian 2 o 3) para que el stored por medio de un while o en su defecto un cursor haga las operaciones de actualización

    Cada catálogo que se actualice tiene al rededor de 20 o 30 parámetros así que la carga no debería sobrepasar los 90 registros en total

    Pero no se cual sería mejor opción en performace y buenas practicas, espero puedan ayudarme.

    Saludos


    • Editado _Blitz_ lunes, 9 de marzo de 2015 17:23 Actualización
    lunes, 9 de marzo de 2015 17:20

Todas las respuestas

  • El rendimiento será mejor enviando uno o más parámetros de tipo tabla a un procedimiento almacenado y dejando que éste haga todas las inserciones (preferiblemente con un "insert into tabla select * from parámetro" en lugar de usar un cursor).

    PERO: Con solo 90 registros, la operación será lo suficientemente rápida si la haces con un bucle en el cliente insertando registro a registro, especialmente si haces varias inserciones en una sola llamada con "insert into tabla(...) values (...),(...),(...)..." o en su defecto "insert...;insert...;insert...". Así que posiblemente no te merezca la pena introducir la complejidad adicional que supone crear el procedimiento y pasarle las tablas, para un volumen tan pequeño de datos.

    • Propuesto como respuesta Enrique AA domingo, 15 de marzo de 2015 21:46
    miércoles, 11 de marzo de 2015 15:41