Bruce Momjian wrote:
>
> >
> > While the index usage is good, the fact is the subquery is executed for
> > every row of markmain, isn't it? That's one query executed for each row
> > in markmain, isn't it?
>
> I just tried this with NOT EXISTS, and it was VERY fast. Can we discuss
> the issues, and perhaps auto-rewrite these as exists. Is that always
> better than hash?
Not always, but there is no hashing currently, so you could try
re-writing for IN/NOT IN subqueries without aggregates...
Keep in mind that expression subqueries must return <= 1 rows,
so it's probably better don't rewrite them (or you'll have to
add this check to EXISTS code).
Vadim