From: | bombadil(at)wanadoo(dot)es |
---|---|
To: | Lista PostgreSql <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Problem with a view (not lazy ;) |
Date: | 2002-02-07 09:50:14 |
Message-ID: | 20020207095014.GA10114@fangorn |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
El miércoles 06 de febrero, Tom Lane escribió:
> bombadil(at)wanadoo(dot)es writes:
> > In my tests with views I have found a problem that can't explain.
>
> Are those EXPLAINs really for equivalent queries? I find it very
> suspicious that the estimated number of rows retrieved from "ta" is
> so different in the two cases. I wonder whether you used the same
> range of "fecha" in both cases.
I have used same query. That is sure.
> > from técnico_aviso ta
> > join empleado e on ta.empleado = e.cod
> > join presupuesto p on ta.aviso = p.aviso
> > join aviso a
> > -> left join empresa em on a.empresa = em.cod
> > on ta.aviso = a.número;
>
> Did you really mean to do it that way, and not as
>
> from técnico_aviso ta
> join empleado e on ta.empleado = e.cod
> join presupuesto p on ta.aviso = p.aviso
> join aviso a on ta.aviso = a.número
> left join empresa em on a.empresa = em.cod;
>
> The way you wrote it forces the a-to-em left join to be done first,
> which means it will generate lots of join rows that probably won't
> be of any use. I suspect you want to do the left join last not first.
Wow!
Changing what you propose enhances execute time greatly. Thanks for
your idea. I need to experiment more with it.
Greets.
David
From | Date | Subject | |
---|---|---|---|
Next Message | Marek PUBLICEWICZ | 2002-02-07 10:13:13 | Re: PgManage (GUI Manager) Update |
Previous Message | Achilleus Mantzios | 2002-02-07 08:43:03 | Solaris performance |