From: | Vincenzo Romano <vincenzo(dot)romano(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Using the query INTERSECTion |
Date: | 2007-06-18 17:42:55 |
Message-ID: | 200706181942.55594.vincenzo.romano@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Monday 18 June 2007 19:27:35 Martijn van Oosterhout wrote:
> On Mon, Jun 18, 2007 at 04:10:41PM +0200, Vincenzo Romano wrote:
> > Hello everyone.
> >
> > In order to build some dynamic queries (EXECUTE under PL/PgSQL)
> > I'm taking in consideration to use the INTERSECT operator in
> > order to split a WHERE-condition in a static one and a dynamic
> > one to be built at runtime.
>
> The INTERSECT will almost certainly be slower, basically because
> all the joins will have to be processed twice. Also, the results
> won't be quite the same, especially with respect to duplicate
> records and NULLs.
>
> Have a nice day,
I think you are right, but I could rely on the cache to be affective
and thus relieving the performance loss.
But now I have one more thing. The following command will fail with
a syntax error:
SELECT * FROM (SELECT 1 ) a INTERSECT (SELECT 2 ) b;
Because of the second (harmless) table alias.
In my mind it should work. Or not?
--
Vincenzo Romano
--
Maybe Computer will never become as intelligent as Humans.
For sure they won't ever become so stupid. [VR-1988]
From | Date | Subject | |
---|---|---|---|
Next Message | Andreas Kostyrka | 2007-06-18 17:46:33 | Re: [PERFORM] Postgres VS Oracle |
Previous Message | Jonah H. Harris | 2007-06-18 17:38:44 | Re: [pgsql-advocacy] [PERFORM] Postgres VS Oracle |