On Thu, Apr 1, 2010 at 2:15 PM, Faheem Mitha <faheem@xxxxxxxxxxxxx> wrote: > I had set the foreign keys in question (on the geno table) to be primary > keys. This is because this setup is basically a glorified spreadsheet, and I > don't want more than one cell corresponding to a particular tuple of > idlink.id and anno.id (the conceptual rows and cols). Since a primary key > defines an index, I thought putting indexes on idlink_id and anno_id was > redundant. However, it looks like (unsurprisingly) the index corresponding > to the primary key is across both columns, which may not be what is wanted > for the aforesaid join Actually it is what is wanted - that is good. > So, should I add indexes on the individual foreign key cols idlink_id > and anno_id after all? I doubt that would help. The bottom line may be that you're dealing with hundreds of millions of rows here, so things are going to take a long time. Of course you can always get more/faster memory, a bigger I/O subsystem, faster processors... and it could be that with detailed study there are optimizations that could be done even without spending money, but I think I'm about tapped out on what I can do over an Internet mailing list. ...Robert -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance