Re: 8.2.4 serious slowdown

From: Sim Zacks <sim(at)compulab(dot)co(dot)il>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: 8.2.4 serious slowdown
Date: 2008-01-11 07:39:41
Message-ID: fm76ju$11rv$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

I changed it to "where f.commited is not true" and the query now takes 1 second as opposed to 60.
(much faster then the 3 seconds it took on 8.0.1, which could also be because of the coalesce there)
Is it considered better practice (or more efficient) to always use (x is not or x=value)
instead of coalesce? Or does it make more sense to turn on the option "transform_null_equals"?

Thank you much
Sim

> I assume that the original query is something along the lines of
>
> d left join f on (...) where coalesce(f.commited, false) = false
>
>
> In the meantime, Sim would probably have better luck if he restructured
> this particular clause in some other way, say
>
> where f.commited is not true
> or
> where f.commited = false or f.commited is null
>
> Note also that he really ought to move up to 8.2.6, as 8.2.4 is not
> very sane about what IS NULL means for a left join's result.
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Sim Zacks 2008-01-11 07:42:47 Re: 8.2.4 serious slowdown
Previous Message Tom Lane 2008-01-11 06:43:10 Re: Installation problem: failed to initialize lc_messages to ""

Browse pgsql-hackers by date

  From Date Subject
Next Message Sim Zacks 2008-01-11 07:42:47 Re: 8.2.4 serious slowdown
Previous Message Kris Jurka 2008-01-11 05:01:24 Re: Pl/Java broken since Postgresql 8.3-rc1