I frequently need to handle large amounts of records, I've found that by using the following params when I open the recordset that I get pretty good performance.
Code:
CursorType = adOpenForwardOnly + adOpenStatic
LockType = adLockReadOnly