Hola lista.

Primero, tengo postgresql 8.3.7

Ahora, tengo 2  dudas(dudas de novato)
La primera:
En una aplicación que estoy desarrollando tengo que hacer múltiples INSERT 
dentro de una transacción
 ¿que es más conveniente (En términos de rendimiento)?
   Hacer esto
      INSERT into tabla (campo 1,campo2)values(1,1)
      INSERT into tabla (campo 1,campo2)values(2,2)
      INSERT into tabla (campo 1,campo2)values(3,3)
      ....
      INSERT into tabla (campo 1,campo2)values(n,n)

 ¿ O hacer esto?
      INSERT into tabla (campo 1,campo2)values (1,1),
                                                                       (2,2),
                                                                       (3,3)
                                                                        ...
                                                                       (n,n)

Me interesa saber, cual instrucción es ejecutada más rápidamente por 
postgresql, o da lo mismo?

Mi segunda pregunta
En caso de realizar la instrucción de esta manera:
--------------------------------------------------------------------------------------
 INSERT into tabla (campo 1,campo2) values      (1,1),

                                                                       (2,2),

                                                                       (3,3)

                                                                        ...

                                                                       (n,n)
--------------------------------------------------------------------------------------
Hay algún problema con triggers before y los after insert or update?

o sea yo quiero que pase lo siguiente:
--------------------------------------------------------------------------------------

 INSERT into tabla (campo 1,campo2) values    
               Ejecutar trigger before-->    (1,1), <----Ejecutar trigger after


               Ejecutar trigger before-->    (2,2), <----Ejecutar trigger after
               Ejecutar trigger before-->    (3,3), <----Ejecutar trigger after


                                                          ...
               Ejecutar trigger before-->    (n,n), <----Ejecutar trigger after

--------------------------------------------------------------------------------------
Es decir, lo que quiero, es que se ejecuten los trigger(los AFTER y los BEFORE) 
por cada fila insertada o actualizada en el momento en que sean insertadas y 
que no espere a que se ejecute el comando completamente.

me explico mejor:
Que no pase esto:
---------------------------------------------------------------------------------------
INSERT into tabla (campo 1,campo2) values      (1,1),


                                                                       (2,2),


                                                                       (3,3)


                                                                        ...


                                                                       (n,n)
Ejecutar trigger 1
Ejecutar trigger 2
Ejecutar trigger 3
....
Ejecutar trigger n
---------------------------------------------------------------------------------------

Bueno, espero puedan ayudarme.
Gracias por estar siempre ahí para responder a los más novatos.
Saludos



      

Responder a