Just to add on the other excellent suggestions...
 
If you are using qtp don't forget to put 'set lock file update' in your
prog, otherwise you will lock up your dataset.  Nothing like a dblock to
create some panic...
 
If you are constantly doing selects on a partial key, with a large record
length dataset, you might consider adding an automatic master that you can
serial read then link to your detail file to speed things up.
 
Avoid  any pattern matching, this can be intense, i think it even mentions
this in the manual somewhere, i'd look it up but no manuals here at home.
 
Keep in mind you can index subfiles with 7.29 which might help.
 
You might also use Select filename if....
instead of just Select if...
This way quiz will ditch the record while building the record complex
instead of afterwards, this can save considerable time. Example:
Access filea link to fileb link to filec
Select filea if itema='x'
Select fileb if itemb='y'
Select filec if itemc='z'
Select if MyDefinedItem = 'zulu'
 
Hope this helps...
 
John Dalton@a temporary aol trial account not worth mentioning.