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"

Responder a