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