First, shouldn't statistics have some clue how many rows might be in the
table, at least right after an analyze?
Second, if the planner believes it will find 6700 rows in a 35000 row
table, shouldn't it choose an index? I have a unique index on "branch".
What percentage of expected rows/possible rows is the usual cutoff,
anyone know? Whatever it is, it seems too low to me.
oms=# select version();
version
-------------------------------------------------------------
PostgreSQL 7.2.1 on i686-pc-linux-gnu, compiled by GCC 2.96
(1 row)
oms=# analyze items;
ANALYZE
oms=# select count(*) from items;
count
-------
34865
(1 row)
oms=# explain select * from items where branch='10';
NOTICE: QUERY PLAN:
Seq Scan on items (cost=0.00..3588.70 rows=46546 width=520)
EXPLAIN
oms=# explain select * from items where branch='30';
NOTICE: QUERY PLAN:
Seq Scan on items (cost=0.00..3588.70 rows=6710 width=520)
EXPLAIN
Glen Parker
glenebob@nwlink.com