From: | Jose Mercedes Venegas Acevedo <jvenegasperu(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org, arpug <arpug(at)postgresql(dot)org> |
Subject: | Re: [pgsql-es-fomento] ejecucion de sentencias update de manera mas veloz |
Date: | 2012-06-25 16:58:23 |
Message-ID: | CA+KjtGfM8MRVcieoYLFXsPwAM7tYYpnk=vhZCr-0z23dP4tAtQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | arpug pgsql-es-ayuda pgsql-es-fomento |
Gracias por las prontas respuestas
ahora acabo de probar psql -f archivo.sql y vas mas rapido pero tengo dos
consultas adicionales.
Alvaro lei a un blogger de postgres hace tiempo que indicaba que tambien se
podia consultar en la lista de arpug
que alguien lo indique si ya no es asi por favor.
Por otro lado no sabia lo de los indices supongo que me servira igual si
despues de actualizar todo elimino y vuelvo a crear los indices.
o seria mas recomendable antes de hacer modificaciones de grandes
cantidades de registros eliminar primero los indices hacer las
modificaciones y reindexar
con respecto a lo que me mencionaba Danny Henderson de porque uso id like
'99%' en la consulta
pues resulta que en la BD postgres todos los lotes que no tienen codigo
asignado empiezan por 99 asi que solo esos debo actualizar.
aqui viene mi segunda consulta seria mas rapido hacer un where
substr(ID,1,2) = '99' que usar el like '99%'
El 25 de junio de 2012 10:54, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>escribió:
>
> Excerpts from Jose Mercedes Venegas Acevedo's message of lun jun 25
> 11:37:56 -0400 2012:
> > Buen dia a todos
> >
> > tengo una base de datos postgis que tienen la lotizacion de un poblado
> pues
> > resulta que cada fila de los lotes tiene el nombre del cliente pero no su
> > codigo para otras consultas administrativas que tenemos
> > en otro sistema alfanumerico
> > asi que exporte la lista de nombres y codigos del sistema transaccional
> en
> > oracle para insertarle ese codigo a postgres usando excel para armar la
> > consulta.
> >
> > las consultas que genero en excel quedan asi:
> >
> > UPDATE CAT_LOTE SET ID= '13010400060' WHERE NOM_CLI = 'HOSTAL CABALLITO
> > TOTORA' AND ID LIKE '99%';
> > UPDATE CAT_LOTE SET ID= '13010400070' WHERE NOM_CLI = 'ARCILA GONZALES
> > MARGOT IVONE' AND ID LIKE '99%';
> > UPDATE CAT_LOTE SET ID= '13010400080' WHERE NOM_CLI = 'LESCANO ALVA
> CARLOS
> > FORTUNATO' AND ID LIKE '99%';
> > UPDATE CAT_LOTE SET ID= '13010400090' WHERE NOM_CLI = 'ARCILLA CACERES
> > MICAELA' AND ID LIKE '99%';
> > UPDATE CAT_LOTE SET ID= '13010400100' WHERE NOM_CLI = 'ARCILLA JURADO
> > ALBERTO' AND ID LIKE '99%';
> >
> > y asi hasta 200 mil
> >
> > estas las pego en el pgadmin pero en bloques de 10000 porque si le pongo
> > mas se cuelga y demora una hora mas o menos en ejecutar esa
> actualizacion.
> >
> > estoy usando postgres 9.1 sobre windows server 2003
> >
> > alguna otra forma de hacer esto mas rapido usando el psql por consola no
> se
> > alguna otra forma como seria?
>
> Yo sugerería borrar todos los índices de la tabla, luego hacer los
> updates, luego hacer vacuum, luego re-crear los índices.
>
> Nota: la lista de fomento no es para consultas técnicas. No la pongas
> en CC. La lista ARPUG tampoco me parece apropiada pero no desconozco.
>
> --
> Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
>
--
José Mercedes Venegas Acevedo
cel: Mov. 949808846
mails: jvenegasperu(at)php(dot)net
jvenegasperu(at)gmail(dot)com
PHP Spanish Docs translator member.
http://www.php.net/manual/es/index.php
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2012-06-25 17:18:52 | Re: [pgsql-es-ayuda] [pgsql-es-fomento] ejecucion de sentencias update de manera mas veloz |
Previous Message | Danny Henderson | 2012-06-25 16:34:05 | Re: [pgsql-es-fomento] ejecucion de sentencias update de manera mas veloz |
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2012-06-25 17:18:52 | Re: [pgsql-es-ayuda] [pgsql-es-fomento] ejecucion de sentencias update de manera mas veloz |
Previous Message | Danny Henderson | 2012-06-25 16:34:05 | Re: [pgsql-es-fomento] ejecucion de sentencias update de manera mas veloz |
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2012-06-25 17:18:52 | Re: [pgsql-es-ayuda] [pgsql-es-fomento] ejecucion de sentencias update de manera mas veloz |
Previous Message | Danny Henderson | 2012-06-25 16:34:05 | Re: [pgsql-es-fomento] ejecucion de sentencias update de manera mas veloz |