Skip site navigation (1) Skip section navigation (2)

Re: [pgsql-es-fomento] ejecucion de sentencias update de manera mas veloz

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 (view raw or flat)
Thread:
Lists: arpugpgsql-es-ayudapgsql-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

In response to

Responses

pgsql-es-fomento by date

Next:From: Alvaro HerreraDate: 2012-06-25 17:18:52
Subject: Re: [pgsql-es-ayuda] [pgsql-es-fomento] ejecucion de sentencias update de manera mas veloz
Previous:From: Danny HendersonDate: 2012-06-25 16:34:05
Subject: Re: [pgsql-es-fomento] ejecucion de sentencias update de manera mas veloz

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2012-06-25 17:18:52
Subject: Re: [pgsql-es-ayuda] [pgsql-es-fomento] ejecucion de sentencias update de manera mas veloz
Previous:From: Danny HendersonDate: 2012-06-25 16:34:05
Subject: Re: [pgsql-es-fomento] ejecucion de sentencias update de manera mas veloz

arpug by date

Next:From: Alvaro HerreraDate: 2012-06-25 17:18:52
Subject: Re: [pgsql-es-ayuda] [pgsql-es-fomento] ejecucion de sentencias update de manera mas veloz
Previous:From: Danny HendersonDate: 2012-06-25 16:34:05
Subject: Re: [pgsql-es-fomento] ejecucion de sentencias update de manera mas veloz

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group