Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> On 07.10.2010 10:41, Simon Riggs wrote:
>> Constraint exclusion is linear with respect to number of partitions.
>> Why do you say exponential?
> For some reason I thought the planner needs to check the constraints of
> the partitions against each other, but you're right, clearly that's not
> the case. Linear it is.
Well, it's really more like O(mn) where m is the number of partitions
and n is the number of clauses in the query --- and not only that, but
the O() notation is hiding a depressingly high constant factor. And
then there are practical problems like failing to exclude partitions as
soon as there are any parameters in the query.
There's basically no way that we're going to get decent performance for
large numbers of partitions as long as we have to resort to
theorem-proving to lead us to the correct partition.
regards, tom lane