Re: ejecucion mas rapida que a base de scripts

From: "Rafael De_Linares" <rafaeldelinares(at)gmail(dot)com>
To: "Rafael De_Linares" <rafaeldelinares(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Cc: alvherre(at)commandprompt(dot)com
Subject: Re: ejecucion mas rapida que a base de scripts
Date: 2007-02-10 17:21:36
Message-ID: 1074b94f0702100921n232f6680jb30d4e7fc675b6d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El día 10/02/07, Rafael De_Linares <rafaeldelinares(at)gmail(dot)com> escribió:
>
> Saludos y gracias por tu pronta respuesta, ya escribiendo el correo,
> pensaba que seguro que alvaro contesta....
>
> Bueno te comento, el procesimiento se ejecuta por bloques de registro por
> ejemplo.
>
> nombre empleado fechaimporte ciudad1 ciudad2
> rafael ; 01/01/07; malaga; malaga;
> rafael ; 28/01/07; sevilla; malaga;
> rafael ; 11/02/07; sevilla; malaga;
> rafael ; 18/02/07; malaga; malaga
> marilo ; 01/04/07; marbella; malaga
> marilo ; 28/05/07; malaga; malaga
> marilo ; 11/08/07; sevilla; malaga
> marilo ; 18/08/07; sevilla; malaga
> miryam; 01/02/07; malaga; malaga;
> miryam ; 28/01/07; sevilla; malaga;
> miryam ; 11/02/07; sevilla; sevilla;
> miryam ; 18/02/07; malaga; malaga
> lucia ; 01/04/07; marbella; malaga
> lucia ; 28/09/07; malaga; sevilla
> lucia ; 11/08/07; sevilla; malaga
> lucia ; 18/08/07; sevilla; malaga
> pepe ; 01/04/07; marbella; malaga
> pepe ; 28/05/07; malaga; malaga
> pepe ; 11/08/07; granada; malaga
> pepe ; 18/08/07; granada; malaga
>
> /* las fechas son aleatorias
>
> el proceso a ejecutar seria,
> para cada empleado, elegir aquel registro que sea el mas antiguo y que
> ciudad2 sea sevilla, si no existe ninguna ocurrencia buscar y elegir aquella
> que ciudad1 sea sevilla, en el caso de no cumplir ninguna de las dos reglas
> no se considera el empleado
>
> el resultado tendria que ser
>
> rafael ; 28/01/07; sevilla; malaga;
> marilo ; 11/08/07; sevilla; malaga
> miryam ; 11/02/07; sevilla; sevilla;
> lucia ; 11/08/07; sevilla; malaga
>
> pepe no se considera por no tener ninguna ciudad sevilla.
>
> no se si te ha quedado claro.
>
> en php, lo que hago es procesar de la siguiente forma :
> - hago un select distinct por nombre de empleado.
> - cargo una tabla temporal con los datos de ese empleado,
> - verifico la regla que te he comentado.
> - inserto en la tabla resulltante el valor elegido.
>
> y asi para cada valor de nombre empleado.
>
> como te comento un proceso muy lento para tener una carga de datos enorme,
> el numero de registros que tengo es de aprox 24000 registros, y un select
> distinct por nombre empleado me da alrededor de 14000 registros.
>
> los datos como habras adivinado son ficticios.
>
> gracias
>
> El día 10/02/07, Alvaro Herrera <alvherre(at)commandprompt(dot)com> escribió:
> >
> > Rafael De_Linares escribió:
> >
> > > La pregunta es la siguiente, siguiendo en mi afan de mientras mas
> > rapido
> > > mejor. me encuentro en que realizo una serie de operaciones
> > recorriendo la
> > > tabla y realizando operaciones a cada uno de los registros, cojo
> > aquellos
> > > que son iguales por un campo, los incorporo a una tabla auxiliar, veo
> > sus
> > > caracteristicas, veo cual me interesa e introduzco en otra tabla aquel
> > que
> > > segun mis evaluaciones considero mejor.
> >
> > Me pregunto si no sera posible hacer ese procesamiento por lotes, en
> > lugar de hacerlo registro por registro. La respuesta es cual sea
> > exactamente el procesamiento que quieras hacer, y como sean las
> > comparaciones entre registros.
> >
> > Que tal si nos muestras, mas en concreto, cuales son las tablas y cuales
> > son las sentencias que estas enviando? Quizas se pueda optimizar.
> >
> > --
> > Alvaro Herrera
> > http://www.CommandPrompt.com/ <http://www.commandprompt.com/>
> > The PostgreSQL Company - Command Prompt, Inc.
> >
>
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Silvia Gardel 2007-02-10 17:45:53 Re: plphp en windows
Previous Message Rafael De_Linares 2007-02-10 17:20:13 Re: ejecucion mas rapida que a base de scripts