Re: join - versus - exists [performance]

From: "Emanuel CALVO FRANCO" <postgres(dot)arg(at)gmail(dot)com>
To: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: join - versus - exists [performance]
Date: 2008-11-14 21:17:43
Message-ID: f205bb120811141317r7269840ax448f3de64d427c8@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

[GENERAL] 8.3.1 query plan
[GENERAL] Slow query performance

estos dos thread tratan el tema en profundidad.

El día 14 de noviembre de 2008 19:10, Alvaro Herrera
<alvherre(at)alvh(dot)no-ip(dot)org> escribió:
> Juan Ramirez escribió:
>
>> cual tiene más performance, yo estoy acostumbrado cuando hago
>> relaciones entre tablas a utilizar "exists" en lugar de los join.
>
> Depende de cada caso particular. Y hay que tener muy en cuenta que a
> veces IN es muy rapido, en cambio NOT IN es muy lento; y ahi donde
> EXISTS pueda ser muy rapido, NOT EXISTS puede ser muy lento y
> viceversa. Y en todos los casos hay que tener mucho cuidado con la
> forma en que se resuelven los valores NULL, porque a veces es
> contraintuitiva.
>
> También depende de las versiones de Postgres, porque a medida que el
> optimizador aprende trucos nuevos, las cosas que antes eran lentas puede
> que dejen de serlo, y pasar a ser más rápidas que las formas que antes
> eran la mejor alternativa.
>
> --
> Alvaro Herrera http://www.amazon.com/gp/registry/DXLWNGRJD34J
> "El sabio habla porque tiene algo que decir;
> el tonto, porque tiene que decir algo" (Platon).
> --
> TIP 7: no olvides aumentar la configuración del "free space map"
>

--
Emanuel Calvo Franco
Syscope Postgresql DBA
BaPUG / AOSUG Member

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Raul Andres Duque 2008-11-14 22:31:44 Re: join - versus - exists [performance]
Previous Message Juan Ramirez 2008-11-14 21:15:41 RE: join - versus - exists [performance]