I have an SQL Statement that I execute that has 3 tables joined together. The statement produces 55 records. The 3 tables are very large tables. I have timed opening the SQL statement in an ADO Recordset using both the adOpenStatic and adOpenForwardOnly cursors. What I've found it that the adOpenStatic loops through the records MUCH faster. It took the forwardonly recordset 10 seconds where the static one took only 2. I thought the forward only recordset was faster? Is this not always the case?