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
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 |