> I don't understand why PostgreSQL sometimes chooses not to use the
> existing INDEXes to do an index scan instead of sequential scan -- Does it
> really think sequential will be faster, or does it eliminate an index scan
Yes, and it's generally right.
> because there won't be enough hard drive or swap space to do it?
Nope. Simply because of time it takes to read from the disk. An index
scan makes ~ 1 read per tuple and sequential scans make one per page
(gross simplification).
> Currently, full text search queries take on the order of 2 minutes to
> execute.
> We need them to be happening in 5 seconds, if at all possible.
How about a couple of explains of the queries. What kind of tuning have
you done in postgresql.conf. Whats your hardware like? Have you
partitioned the data to separate disks in any way?
Are you doing mostly (all?) reads? Some writes? Perhaps clustering?
Is this on 7.2 or 7.3? What is the Locale? C or en_US or something
else?
--
Rod Taylor <rbt@rbt.ca>
PGP Key: http://www.rbt.ca/rbtpub.asc