Re: Performarce para 15 mil queries

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

In response to

Browse pgsql-es-ayuda by date

  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