Re: *very* inefficient choice made by the planner (regarding
От | SZUCS Gábor |
---|---|
Тема | Re: *very* inefficient choice made by the planner (regarding |
Дата | |
Msg-id | 008501c4550f$87523a80$0403a8c0@fejleszt4 обсуждение исходный текст |
Ответ на | *very* inefficient choice made by the planner (regarding IN(...)) (Frank van Vugt <ftm.van.vugt@foxi.nl>) |
Ответы |
Re: *very* inefficient choice made by the planner (regarding
Re: *very* inefficient choice made by the planner (regarding |
Список | pgsql-performance |
Dear Gurus, ----- Original Message ----- From: "Stephan Szabo" <sszabo@megazone.bigpanda.com> Sent: Thursday, June 10, 2004 7:14 PM > > On Thu, 10 Jun 2004, Stephan Szabo wrote: > > > > > On Thu, 10 Jun 2004, Jean-Luc Lachance wrote: > > > > > I agree, but it should be a simple rewrite. No? > > > > It's NULLs inside the subselect that are the issue. > > > > select 1 in (select a from foo) > > select exists ( select 1 from foo where a=1) Just a dumb try :) SELECT (exists(select 1 from foo where a isnull) AND NULL) OR exists(select 1 from foo where a=1) AFAIK this returns * NULL if (NULL in foo.a) and (1 not in foo.a) * (1 in foo.a) otherwise. The weakness is the doubled exists clause. I'm sure it makes most cases at least doubtful... G. %----------------------- cut here -----------------------% \end
В списке pgsql-performance по дате отправления: