Best practice at a minimum:
OS/swap on 1 set,
Data on another set
Transaction Log on another set.
Unless you have one of the superfast controllers for RAID 5, RAID 0+1 is always best for any database. Not so much for normal operating, but you will see a huge performance drop should one of the RAID 5 members fail, as the controller will have to calculate the "missing" data from the parity set at least 34% of the time.
Do not place the transaction logs on the same disk as the data or the swap file, as this is a self defeating action.
Transaction logs always improve performance of the system, as transactions are written to the logs in sequential order, then committed to the databases in privleged mode as a block. Without transaction logging, you can see with perfmon the system jumping from user to privleged mode much more frequently, as the system has to jump to priv. mode with each db write.
If you want to further improve performance, add a set just for log.nsf, makes a difference. If you don't have the disks to spare, go with the minimum above, it's a huge difference from having everything on one disk set.
ALSO... partitions are useless. The whole object of placing things onto other disks is to keep the armature of the disk drive from jumping back and forth. If you set up the OS/SWAP on a partition and the data on a seperate partition of the same disk set, you have just negated seperating them out as the disk arms will have to jump back and forth between writing to swap, then back to the DB, back to swap, back to db....
And before I get comments on this... unless you hack the registry to NOT swap part of NT Executive, you will always have something being written and read from the SWAP file. This is default WinNT/2000 behavior.
Leo L'Homme, PCLP