From: | "Silvio Quadri" <silvioq(at)gmail(dot)com> |
---|---|
To: | "Juan Carlos Barranco de Paz" <jcb(at)greccosoft(dot)es> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Rendimiento sin COMMIT |
Date: | 2008-06-12 21:34:53 |
Message-ID: | 61dc71dc0806121434o4058b9e1r9873d2a10d6fcd7e@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El día 12 de junio de 2008 15:47, Juan Carlos Barranco de Paz
<jcb(at)greccosoft(dot)es> escribió:
> Hola, despues de darme bastantes porrazos intentando hacer un commit en
> pl/pgsql, veo que ya se ha hablado bastante y veo que no se puede.
No te sientas solo, yo también invertí tiempo en eso inútilmente. Cada
llamado a pl es una transacción en sí.
>
> Tengo un proceso en pl/pgsql que me crea 4 tablas de datos, de estas 2 de
> ellas pueden tener unos 6 millones de registros cada una
Si no tienen constraints, todo bien. De todas formas, no creo que sea
una buena idea crear tablas dentro de un sp..
> y posteriormente
> tengo que leer datos de una de las grandes , utilizar una temporal y
> actualizar la otra apoyándome en esta temporal.
>
> Mi preguta es , si hasta que no ha terminado de hacer la función no hace el
> commit, ¿Qué rendimiento tendrá?, ¿tiene estadísticas de esas tablas?,
> ¿utiliza los índices?
No, no utilizará las estadísticas. El motor va a pensar que las tablas
están vacías.
>
> ¿obtendria un mejor rendimiento creando funciones independientes para crear
> cada tabla (y asi hacer el commit) y llamarlas una a una desde sql?
Definitivamente, sí.
En mi opinión, creo que lo mejor es
1) crear las tablas y llenarlas
2) commitear, vacuum analyze
3) correr la actualización desde tablas temporales de la que hablás.
Saludos,
Silvio
>
> Gracias.
>
>
> __________ Information from ESET NOD32 Antivirus, version of virus signature
> database 3181 (20080612) __________
>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
> --
> TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
> http://archives.postgresql.org/pgsql-es-ayuda
>
--
Silvio Quadri
From | Date | Subject | |
---|---|---|---|
Next Message | Pablo Braulio | 2008-06-13 07:28:57 | Re: Opcion TABLESPACE al crear una tabla. |
Previous Message | Jaime Casanova | 2008-06-12 19:34:02 | Re: Rendimiento sin COMMIT |