Should I use an index or a hash function on a primary key if I have 100000 rows of data? I have a table named PRODUCT that has 100,000 rows. I was wondering if either indexing, or a hash function on the primary key would result in better performance. I was also hoping someone could explain why either of these would be better.
With 100k records it shouldn't matter.  Even with 100M records it probably won't matter.  I've had queries on tables with billions of rows using good old traditional indexes perform just fine.

It's all about how much memory you have and how fast the disks are.

Granted you'll probably get some more specific information if you tell us what database you are using and provide more specifics.