From: | Josh Berkus <josh(at)agliodbs(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-performance(at)postgresql(dot)org |
Subject: | Re: Issue for partitioning with extra check constriants |
Date: | 2010-10-04 18:34:03 |
Message-ID: | 4CAA1E1B.8080505@agliodbs.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
> And your point is? The design center for the current setup is maybe 5
> or 10 partitions. We didn't intend it to be used for more partitions
> than you might have spindles to spread the data across.
Where did that come from? It certainly wasn't anywhere when the feature
was introduced. Simon intended for this version of partitioning to
scale to 100-200 partitions (and it does, provided that you dump all
other table constraints), and partitioning has nothing to do with
spindles. I think you're getting it mixed up with tablespaces.
The main reason for partitioning is ease of maintenance (VACUUM,
dropping partitions, etc.) not any kind of I/O optimization.
I'd like to add the following statement to our docs on partitioning, in
section 5.9.4:
=====
Constraint exclusion is tested for every CHECK constraint on the
partitions, even CHECK constraints which have nothing to do with the
partitioning scheme. This can add siginficant extra planner time,
especially if your partitions have CHECK constraints which are costly to
evaluate. For performance, it can be a good idea to eliminate all extra
CHECK constraints on partitions or to re-implement them as triggers.
=====
>In case you haven't noticed, we have very finite
> amounts of manpower that's competent to do planner surgery.
Point.
--
-- Josh Berkus
PostgreSQL Experts Inc.
http://www.pgexperts.com
From | Date | Subject | |
---|---|---|---|
Next Message | Dan Ports | 2010-10-04 18:35:42 | Re: MIT benchmarks pgsql multicore (up to 48)performance |
Previous Message | Greg Stark | 2010-10-04 18:06:27 | Re: MIT benchmarks pgsql multicore (up to 48)performance |