Ver Mensaje Individual
  #2  
Antiguo 17-10-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Todo el proceso completo, incluido los whiles y demás, debería ser un procedimiento almacenado. ¿Por qué? porque al ser un SP, las consultas están ya compiladas en el servidor y te ahorras el tiempo de compilar (qry.prepare). Además no hay tráfico de red, ya que todo se hace desde el lado del servidor, por tanto, es más ágil.

La velocidad propia de cada SQL, ya dependerá de los índices que tengas creado al efecto en la BBDD, y por ende, la eficiencia de cada SQL está condicionado a esos índices y la cantidad de registros afectados por ella.

En resumen: sí debería ser más rápido desde un SP

En cuanto a tu duda del try ... except... bueno, Firebird 2 cuenta con la instrucción MERGE que hace eso, intenta actualizar y si no existe, inserta. Obviamente sin saber tu motor de bases de datos, poco más puedo decir.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita