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

Re: Ayuda con inquietud

From: Javier Aquino <JAquino(at)LexusEditores(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Jorge Toro <jolthgs(at)gmail(dot)com>, Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Ayuda con inquietud
Date: 2012-07-10 14:23:54
Message-ID: 1341930234.4065.1.camel@javier-ntb (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Tienes razón Alvaro ... confundí lo rápido (velocidad) con lo fácil
(sentencia).

Thanks por la observación ;-)

Slds,

Javier.


On Mon, 2012-07-09 at 23:06 -0400, Alvaro Herrera wrote:

> Excerpts from Javier Aquino's message of lun jul 09 21:48:50 -0400 2012:
> > OK, 
> > 
> > No había caído en cuenta de ello.
> > 
> > Entonces te quedaría 2 opciones:
> > 
> > 1. Crear un campo position_id en tu tabla "maestra" gps, este campo se
> > actualizaría cada vez que realices un insert nuevo a tu tabla positions.
> > 
> > Pros: 
> >  - Actualización muy rápida ya que solo actualizas un campo int.
> 
> Esto no es tal.  Al hacer un UPDATE en Postgres, tiene que crearse una
> versión completa nueva del registro, que es idéntica al anterior y sólo
> difiere en el campo int que cambiaste.  Así que no es para nada tan
> rápido como sugieres.
> 
> > 2. crear una tabla nueva exactamente igual a positions llamado
> > last_positions, pero con dos cambios ( id integer y no serial,  gps_id
> > primary key) y este se actualizaría cada vez que ingrese un dato nuevo a
> > tu tabla positions.
> 
> Esta idea es mucho mejor.
> 
> >    BEGIN
> >      update last_positions
> >         set (id, gps_id, position, velocidad, altura, fecha, grados,
> >    satelites) =  ( new.id, gps_id, new.position, new.velocidad,
> >    new.altura, new.fecha, new.grados, new.satelites)
> >       where gps_id = new.gps_id;
> >    if not found then
> >      insert into last_positions
> >      values ( new.* );
> >    end if;
> 
> Buena suerte consiguiendo que esto funcione bien cuando haya dos
> procesos insertando registros nuevos para un mismo gps_id.
> Creo que es más sano tomar un SELECT FOR UPDATE.
> 


In response to

Responses

pgsql-es-ayuda by date

Next:From: =?iso-8859-1?Q?Laz=E1ro_Rub=E9n_Garc=EDa_Mart=EDnez?=Date: 2012-07-11 13:38:03
Subject: RE: Comparacion entre dos Bases de Datos.
Previous:From: Alvaro HerreraDate: 2012-07-10 14:07:47
Subject: Re: Comportamiento correcto del "not in" ?

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