From: | "Ivan Perales M(dot)" <ivan(dot)perales(at)gmail(dot)com> |
---|---|
To: | Alvaro Herrera <alvherre(at)2ndquadrant(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:29:00 |
Message-ID: | CAHMuS048Omteu+Jz+2UMOskAWjfM=JhqqZJRdWam75an2KsrRw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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.
Supongo que es mas rapido hacer un select * from tabla_tmp; que un select *
from tabla_principal where numero in(..).
Haré algunas pruebas y les avisaré como resulta.
Saludos.
2014-07-02 15:39 GMT-05:00 Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>:
> Ivan Perales M. escribió:
>
> > El problema es que despues de 4 años, la tabla tiene casi 800 mil
> registros
> > y buscar uno a uno se hizo lentisimo. Lo que hize fue un query con un in
> de
> > los casi 15 mil valores, alomejor esto esta equivocado pero hasta ahora
> ha
> > sido lo mejor que me ha resultado y el tiempo mejoro muchisimo en
> > comparacion de realizar query por query, de casi 10 mins se bajo a 5
> mins.
>
> El IN (..) no siempre es lo mejor, dependiendo de si hay valores nulos.
> Considera reescribir la consulta usando EXISTS. Ahora, posiblemente lo
> mejor sea subir todos los 15000 nuevos registros a una nueva tabla,
> crearle un par de índices, analizar, y luego hacer UPDATE .. USING en la
> tabla grande.
>
> --
> Álvaro Herrera http://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Training & Services
>
--
Lindolfo Iván Perales Mancinas
Solo existen 10 tipos de personas en el mundo, las que saben binario y las
que no.
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2014-07-02 21:35:10 | Re: Performarce para 15 mil queries |
Previous Message | Moises Alberto Lindo Gutarra | 2014-07-02 20:42:01 | Re: Funcion PostGis |