Re: Consulta toma 100 Minutos!!??

From: Bruno <bruno_vr1-gg(at)yahoo(dot)com(dot)ar>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Consulta toma 100 Minutos!!??
Date: 2005-09-08 18:33:28
Message-ID: 20050908183328.46809.qmail@web30806.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Prueba mejor con Not Exist... pero tines que tener
creados los indicies en "Rut Cliente" para todas las
tablas.

SELECT "Rut Cliente"
FROM "Internet_Abril" a
WHERE a."Rut Cliente" NOT EXIST (SELECT "Rut Cliente"

FROM "Internet_Enero" b
WHERE b."Rut Cliente"= a."Rut Cliente")
and
a."Rut Cliente" NOT EXIST (SELECT c."Rut Cliente"
FROM "Internet_Febrero" c
WHERE c."Rut Cliente"= a."Rut Cliente") )
and
a."Rut Cliente" NOT EXIST (SELECT d."Rut Cliente"
FROM "Internet_Marzo" d
WHERE d."Rut Cliente"= a."Rut Cliente")

Esta consulta debe mejorar considerablemente el tiempo
de tu consulta..

PD: piensa en cambiar el diseño de la BD
atte.

Bruno Chacana

--- William Diaz <wdiaz(at)unipamplona(dot)edu(dot)co>Pabón
escribió:

> Buenos dias.
>
> No soy un experto en SQL pero mire si le sirve esta
> consulta, debe mejorar
> su rendimiento.
>
> SELECT "Rut Cliente"
> FROM "Internet_Abril"
> WHERE "Rut Cliente" NOT IN (SELECT "Rut Cliente"
> FROM "Internet_Enero")
> and
> "Rut Cliente" NOT IN (SELECT "Rut Cliente"
> FROM
> "Internet_Febrero") and
> "Rut Cliente" NOT IN (SELECT "Rut Cliente"
> FROM "Internet_Marzo")
>
> > Hola
> >
> > Soy nuevo en postgresql, tuve que instalarlo
> porque Access no fue
> > capaz de soportar las consultas, instalé postgres
> en una maquina con
> > Windows XP ( No puedo usar linux, porque es el
> computador del trabajo
> > ),
> >
> > Estoy realizando una consulta, y toma mucho tiempo
> en realizarse, como
> > 100 minutos en un P4 de 2.8Ghz 512Mb RAM, la
> consulta es la siguiente:
> >
> > SELECT "Rut Cliente"
> > FROM "Internet_Abril"
> > WHERE "Rut Cliente" NOT IN ((SELECT "Rut Cliente"
> FROM
> > "Internet_Enero") UNION (SELECT "Rut Cliente"
> FROM
> > "Internet_Febrero") UNION (SELECT "Rut Cliente"
> FROM
> > "Internet_Marzo"));
> >
> > Todas las tablas tienen indices creados( Rut
> Cliente es VarChar ), y
> > las tablas tienen 50.000 registros en promedio.
> >
> > El explain de la consulta arroja lo siguiente.
> >
> > "QUERY PLAN
> > Seq Scan on "Internet_Abril"
> (cost=19406.67..62126112.70 rows=24731
> > width=13)
> > Filter: (NOT (subplan))
> > SubPlan
> > -> Materialize (cost=19406.67..21576.07
> rows=136740 width=13)
> > -> Unique (cost=17784.23..18467.93
> rows=136740 width=13)
> > -> Sort (cost=17784.23..18126.08
> rows=136740 width=13)
> >
> Sort
> > Key: "Rut Cliente"
> > -> Append (cost=0.00..3741.80
> rows=136740 width=13)
> > -> Subquery Scan "*SELECT* 1"
> (cost=0.00..1233.38
> > rows=45069 width=13)
> > -> Seq Scan on "Internet_Enero"
> (cost=0.00..782.69
> > rows=45069 width=13)
> > -> Subquery Scan "*SELECT* 2"
> (cost=0.00..1104.06
> > rows=40353 width=13)
> > -> Seq Scan on "Internet_Febrero"
> (cost=0.00..700.53
> > rows=40353 width=13)
> > -> Subquery Scan "*SELECT* 3"
> (cost=0.00..1404.36
> > rows=51318 width=13)
> > -> Seq Scan on "Internet_Marzo"
> (cost=0.00..891.18
> > rows=51318 width=13)
> >
> > Cualquier ayuda se agradece, tengo que hacer 30
> consultas similiares
> > para obtener los datos para mi tesis.
> >
> > saludos
> > Christian
> >
> > ---------------------------(fin del
> mensaje)---------------------------
> > TIP 2: puedes desuscribirte de todas las listas
> simultáneamente
> > (envíe "unregister TuDirecciónDeCorreo" a
> majordomo(at)postgresql(dot)org)
> >
>
>
> Cordialmente.
>
> William Diaz Pabón
> Arqitectura
> Plataforma - Universidad de Pamplona.
>
> ---------------------------(fin del
> mensaje)---------------------------
> TIP 9: el optimizador ignorará el uso de recorridos
> de índice si los
> tipos de datos de las columnas no coinciden
>



___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-09-08 18:47:43 Re: Indices - ¿Tamaño de indices identico?
Previous Message Juan Pablo GO 2005-09-08 17:26:00 Indices - ¿Tamaño de indices identico?