adrobj wrote:
This is probably a FAQ, but I can't find a good answer...
So - are there common techniques to compensate for the lack of
clustered/covering indexes in PostgreSQL? To be more specific - here is my
table (simplified):
topic_id int
post_id int
post_text varchar(1024)
The most used query is: SELECT post_id, post_text FROM Posts WHERE
topic_id=XXX. Normally I would have created a clustered index on topic_id,
and the whole query would take ~1 disk seek.
What would be the common way to handle this in PostgreSQL, provided that I
can't afford 1 disk seek per record returned?
You can cluster the table, see
http://www.postgresql.org/docs/8.2/interactive/sql-cluster.html.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match