Re: Restauracion con excesivos recursos

From: Silvio Quadri <silvioq(at)gmail(dot)com>
To: coconauta <coconauta(dot)ika(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Restauracion con excesivos recursos
Date: 2010-02-03 12:52:01
Message-ID: 61dc71dc1002030452l222650d8u1c1e31d7c5d4ba71@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El día 2 de febrero de 2010 20:08, coconauta <coconauta(dot)ika(at)gmail(dot)com> escribió:
>
>
> El 2 de febrero de 2010 19:13, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
> escribió:
>>
>> coconauta escribió:
>> > Paso a explicar los archivos planos tiene lineas como
>> > "cargapersona(campo1,campo2,.....)"
>>
>> ¿Y qué hace esa función?
>>
>> ¿Hay BEGIN/COMMIT en alguna parte del archivo?  Eso puede hacer una
>> diferencia muy grande.
>>
>> > ahi me salta la primer duda... cuando leo el archivo en pgsql con \i  no
>> > estara intentando traer el archivo completo a memoria?
>>
>> No confundas el uso de memoria del cliente con el uso de memoria del
>> servidor.
>>
>> --
>> Alvaro Herrera       Vendo parcela en Valdivia:  http://rie.cl/?a=255568
>> "You're _really_ hosed if the person doing the hiring doesn't understand
>> relational systems: you end up with a whole raft of programmers, none of
>> whom has had a Date with the clue stick."              (Andrew Sullivan)
>
> si la funcion la tengo encerrada en un begin commit;
> la funcion que hace?.
> begin
> 1- busca la provincia sino esta la inserta
> 2-busca la localidad sino esta la inserta
> 3- busca la persona  si esta busca si ya esta su direcion sino inserta la
> direccion, sino no esta la persona la carga
> 4- en caso de una excepcion de sql no completo inserta todo los datos en una
> tablita
> commit;
>
> los distintos campos tsvector (para nombre y direccion) no los cargo, los
> dejo para despues asi "demora menos"
>
> eso basicamente.
>
>

¿Cuando corrés el query, la tabla está vacía?

Te recomiendo que cortes el archivo, procesando primero 2000
registros. Luego, corré un vacuum analyze y luego corré el millón
restante en otra conexión.

Lo que puede suceder es que cuando corre por primera vez la función
genera un plan teniendo en cuenta que las tablas están vacías. Luego,
para las n - 1 ejecuciones se usa ese plan imperfecto.

--
Silvio Quadri

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2010-02-03 13:05:55 Re: select from lista de valores
Previous Message Oswaldo Hernández 2010-02-03 12:39:58 Re: select from lista de valores