From: | Michal Politowski <mpol+pg(at)meep(dot)pl> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | partial unique index and the planner |
Date: | 2009-02-15 17:50:06 |
Message-ID: | 20090215175006.GA374@meep.pl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I'm using PostgreSQL 8.3.
Is it normal that plans using a scan on a partial unique index
estimate that much more than one row is returned?
Eg. I see:
-> Bitmap Index Scan on tmp_idx_oss_archive_object_id_current (cost=0.00..3.12 rows=4189 width=0)
where the tmp_idx_oss_archive_object_id_current index is a partial unique index.
The estimated row count would be correct for the whole table but obviously not for
the part covered by the unique index.
This happens to be a problem in this case because then the planner
prefers a sequence scan on a table joined to this one and a hash join to an index scan
and a nested loop join. Which takes hundreds of milliseconds instead of
one, so setting enable_hashjoin to false increases performance immensely.
--
Michał Politowski
Talking has been known to lead to communication if practiced carelessly.
From | Date | Subject | |
---|---|---|---|
Next Message | Scott Marlowe | 2009-02-15 18:28:45 | Re: partial unique index and the planner |
Previous Message | Bjørn T Johansen | 2009-02-15 16:56:29 | Re: How do I set the schema search path in a datasource config for a connection pool? |