Hey all,

So I have a master table called "flows" and 400 partitions in the format "flow_*" where * is equal to some epoch.

Each partition contains ~700,000 rows and has a check such that 1 field is equal to a value: "flows_1107246900_interval_check" CHECK ("interval" = '2005-02-01 03:35:00'::timestamp without time zone)

Each partition has a different and unique non-overlapping check.

This query takes about 5 seconds to execute:
dp=> select count(*) from flows_1107246900;
 count
--------
 696836
(1 row)

This query has been running for 10 minutes now and hasn't stopped:
dp=> select count(*) from flows where interval='2005-02-01 03:35:00';

Isn't partitioning supposed to make the second query almost as fast? My WHERE is exactly the partitioning constraint, therefore it only needs to go to 1 partition and execute the query.

Why would it take magnitudes longer to run?  Am i misunderstanding something?

Thanks!
George

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

              http://archives.postgresql.org/

Reply via email to