From: | Omar Beltrán Cano <omarbeltrancano(at)hotmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Query NOt In para optimizar |
Date: | 2014-12-16 14:06:30 |
Message-ID: | BLU437-SMTP48E65C3A51BA854CB8DE2EBF6C0@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola Edwin
Para estos haberes, en términos de rendimiento, siempre prefiero
un EXISTS, y mantengo indexados los campos que hacen parte del
where.
Saludos
Omar
El 15/12/2014 a las 07:17 p.m., 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
>
> Esto funciona pero es un poco lento , alguien podria darme una idea de
> hacer algo un poco mas optimo. La tabla A tiene 300K y la B 200K.
>
> En otras palabras quiero todos los que estan en A pero no en B pero
> agrupados ya que A es una tabla de detalle por eso es que agrupo. Pense
> en una vista pero las vistas no se pueden indexar , o si ?
>
> Gracias
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Edwin Quijada | 2014-12-16 14:35:54 | RE: Query NOt In para optimizar |
Previous Message | Hellmuth Vargas | 2014-12-16 13:43:55 | Re: Query NOt In para optimizar |