Properties That Affect Performance

The SAS providers support the following ADO and OLE DB properties that affect the performance of your application.
Property Names and Supported Providers
ADO Property Name
OLE DB Property ID
Support
"CacheSize"
none
Supported in ADO by all providers
"Maximum Open Rows"
DBPROP_MAXOPENROWS
Supported by all providers
"SAS Page Size"
DBPROP_SAS_PAGESIZE
Supported by the IOM provider
“SAS Data Set Options”
DBPROP_SAS_DATASETOPTS
Supported by the IOM provider
These properties determine how much data is retrieved and cached at different architectural levels. They will affect performance for better or for worse, depending on how you use them in your application. For example, significant performance improvement occurs when each accessed row is relatively close to the previously accessed row. However, if your application randomly accesses rows or only accesses a few rows, then increased data caching might degrade performance. To optimize performance in this case, you can take the following two steps:
  • If you have enough RAM to hold the entire data set in memory and your application accesses most of the rows in the data set, then increase the amount of data cached to match the amount of data in the data set.
  • If you do not have enough RAM or your application needs to access only a few rows in the data set, then lower the amount of cached data to minimize the transfer of unused rows.
Tip
When you develop your application, you should test different values for these properties to determine which values will result in the best performance for your target environment.
Note: The IOM provider also supports optimized accessors as described in the OLE DB Programmer's Reference and Data Access SDK. This feature enables OLE DB consumers to specify which columns should be included in the provider's cache.
Tip
The sample code in this chapter assumes that an ADO Connection object is open. For more information, see Basic Connection Recipes.