Re: Rendimiento sin COMMIT

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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