Here is the RT wiki article regarding performance tuning.
The key understanding is that the server on which the DB runs needs to
be wicked fast. (No, I’m not from Boston, but have friends who are)
Don’t make the mistake of going with big cheap SATA drives, go with
smaller SCSI drives and arrange them in a RAID 0+1 configuration so that
you get striped and mirrored data sets. With SCSI drives you get
greater parallel drive performance as the actuators can be moved into
position on all drives simultaneously.
If you insist on going SATA, get the Western Digital Raptor drives.
They’re more expensive… look at these graphs
In general, wicked fast equals:
Fast disks + enough RAM for indexes + enough CPU
Disk and memory I/O will almost always be the bottleneck for your DB.