"Jim Nasby" <jim.nasby@enterprisedb.com> writes:
> IF I run the following with the a < 2900 condition first, the more
> expensive EXISTS only gets executed when needed, but if I change the
> order of the OR's, the EXISTS is always executed. It would be good if
> the optimizer could re-order the OR conditions based on estimated
> cost (granted, this wouldn't work very well if you've got functions
> in the OR, but it'd still be useful):
I looked at this for a bit. It's in principle do-able but I'm not
sure it's a good idea. The problem is that while AND'ed condition
lists are usually fairly short and hence cheap to sort, OR'ed condition
lists are not infrequently very long --- nobody blinks an eye at
hundreds of items in an IN-list for instance. I'm afraid we'd waste
a lot more cycles sorting than we could hope to regain.
regards, tom lane