Data access and retrieval is often the most challenging performance area for the Web application developer.
Many of the scalability and performance concerns that arise around data access are not in your control, as a Web application developer. However, there are some techniques that you can use to maximize your performance:
For instance, if you are using ADO to populate a listbox that will contain the cities in which you have offices, the first caller to ADO can insert the ADO query results into Application scope. Subsequent requests for that listbox information could be fulfilled from the Application object, instead of an expensive call, through ADO, to a data source.
If you wish to cache the resultant recordset directly, you should use a client-side cursor, and disassociate the recordset from the Command object by setting the ADO ActiveConnection property to Nothing.
For more information on data caching, see Caching Data.
For more information on data access, see Accessing a Data Source and Accessing Data with ASP.