From: | Jaime Casanova <systemguards(at)gmail(dot)com> |
---|---|
To: | Leonardo Boet Sánchez <boet(at)gtm(dot)tel(dot)etecsa(dot)cu> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Consulta toma 100 Minutos!!?? |
Date: | 2005-09-09 00:04:15 |
Message-ID: | c2d9e70e050908170472f967b1@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 9/7/05, Leonardo Boet Sánchez <boet(at)gtm(dot)tel(dot)etecsa(dot)cu> wrote:
> Realmente haces bastante uso del motor con esto de "not in (select )"
> Verificas cada fila de la primera tabla y por cada de ellas unes nuevamente
> las 3 tablas y buscas en ellas.
>
> Yo lo haría de la siguiente manera y debe ser mucho mas eficiente. Si tienes
> los indices creados debe ser rapidísimo.
>
> SELECT "Rut Cliente"
> FROM "Internet_Abril" LEFT OUTER JOIN ((SELECT "Rut Cliente" FROM
> "Internet_Enero") UNION (SELECT "Rut Cliente" FROM
> "Internet_Febrero") UNION (SELECT "Rut Cliente" FROM
> "Internet_Marzo")) tlb1
> on "Internet_Abril"."Rut Cliente" = tlb1."Rut Cliente"
> WHERE tlb1."Rut Cliente" = null
>
Usa UNION ALL en vez de UNION, es mas rapido y no veo que pueda causar problemas
--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)
From | Date | Subject | |
---|---|---|---|
Next Message | Javier Aquino H. | 2005-09-09 00:31:14 | Re: Consulta toma 100 Minutos!!?? |
Previous Message | Gregorio Diaz | 2005-09-08 22:19:17 | Fecha y hora de modificación de cualquier registro en una tabla |