Re: Poor query plan across OR operator

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Mark Hills <Mark(dot)Hills(at)framestore(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Poor query plan across OR operator
Date: 2010-01-26 16:41:54
Message-ID: 14275.1264524114@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Mark Hills <Mark(dot)Hills(at)framestore(dot)com> writes:
> One of our most-used queries performs poorly (taking over 2 seconds) and a
> tiny amount of refactoring shows it can be fast (less than 1ms) by
> transforming the OR case (which spans two tables) into a UNION.

I'd suggest going with the UNION. We are unlikely to make the planner
look for such cases, because usually such a transformation would be a
net loss. It seems like rather a corner case that it's a win even on
your example.

regards, tom lane

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Richard Neill 2010-01-26 17:10:26 Should the optimiser convert a CASE into a WHERE if it can?
Previous Message Grzegorz Jaśkiewicz 2010-01-26 16:10:36 Re: Poor query plan across OR operator