From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | "Ivan Perales M(dot)" <ivan(dot)perales(at)gmail(dot)com> |
Cc: | Ayuda Esp PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Performarce para 15 mil queries |
Date: | 2014-07-02 21:35:10 |
Message-ID: | 20140702213510.GD6390@eldon.alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Ivan Perales M. escribió:
> Muchas gracias, analisando sus respuestas creo que puedo empezar a probar
> con lo siguiente:
>
> * Leer el archivo de excel y convertirlo a un sql con la sintaxis de COPY.
> * Insertar todos los registros en una tabla temporal
> * Hacer un querie obteniendo todos los creditos pendientes de la tabla
> principal.
> * Obtener todos los registros de la nueva tabla haciendo un join a la
> tabla principal
> * Este join me traera cierta informacion de la tabla principal, la cual si
> no existe entonces es un credito nuevo y hago un insert.
> * Si ya existe entonces actualizo.
Una cosa que puede valer la pena recalcar es que es muy buena idea
tratar de modelar el problema usando conjuntos: hacer un
"INSERT...SELECT FROM" que cree todos los nuevos créditos de un
paraguazo es mejor que dar un insert para cada uno. Incluso si tienes
que (por ejemplo) invocar un procedimiento para hacer la creación,
puedes hacer
SELECT crear_credito(a,b,c) FROM (la consulta que trae los creditos que no existen)
Con esto te ahorras muchas cosas, entre ellas la latencia entre servidor
y cliente para cada nuevo crédito.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Brian Colman | 2014-07-03 16:20:10 | Re: Performarce para 15 mil queries |
Previous Message | Ivan Perales M. | 2014-07-02 21:29:00 | Re: Performarce para 15 mil queries |