Interesante solucion Martin, no se me habia ocurrido nunca , voy a probarla

> Date: Tue, 16 Dec 2014 07:27:28 -0300
> From: mar...@2ndquadrant.com
> To: listas_quij...@hotmail.com; pgsql-es-ayuda@postgresql.org
> Subject: Re: [pgsql-es-ayuda] Query NOt In para optimizar
> 
> El 15/12/14 a las 21:17, Edwin Quijada escribió:
> > Hola!
> > Estoy haciedno un select que implica dos tablas , es mas bien un except, 
> > hasta aho todo bien ya lo hice pero ando buscando una forma un poco mas 
> > rapida de lograr lo que quiero
> > create table A(     fid int,        fbanco int,     name varchar(20),       
> > fecha timestamp );      create table B( pid int,        user varchar(20),   
> >     address varchar(30),    fecha_Actual date )
> > Necesito los registros que estan en A pero no estan en B, hice algo como 
> > esto
> > select fid,fbanco,fecha from A where fbanco = 1 AND fid NOT IN(select pid 
> > FROM B ) group by 1,2,3
> 
> SELECT fid, fbanco, fecha FROM A LEFT OUTER JOIN B ON (A.fid=B.pid)
> WHERE B.pid IS NULL
> GROUP BY 1,2,3;
> 
> Ese subselect con el IN va a ser muy lento con la cantidad de registros
> que tiene la tabla B. Es mucho más optimo unir las tablas y filtrar las
> que tuplas de la tabla A que no tienen su correspondiente referencia en B.
> 
> Saludos,
> 
> -- 
> Martín Marqués                http://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Training & Services
> 
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
                                          

Reply via email to