duda con insert de muchas filas

From: uno dos <refreegrata(at)yahoo(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: duda con insert de muchas filas
Date: 2010-05-12 14:21:11
Message-ID: 124733.86520.qm@web38403.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2010-05-12 14:44:34 Re: cómo pasar parámetros a un trigger ... ??
Previous Message HM 2010-05-12 14:12:36 cómo pasar parámetros a un trigger ... ??