CacheSize Property Example (VB)
This example uses the CacheSize property to show the difference in performance for an operation performed with and without a 30-record cache.
'BeginCacheSizeVB 'To integrate this code 'replace the data source and initial catalog values 'in the connection string Public Sub Main() On Error GoTo ErrorHandler 'recordset and connection variables Dim rstRoySched As ADODB.Recordset Dim strSQLSched As String Dim strCnxn As String 'record variables Dim sngStart As Single Dim sngEnd As Single Dim sngNoCache As Single Dim sngCache As Single Dim intLoop As Integer Dim strTemp As String ' Open the connection strCnxn = "Provider='sqloledb';Data Source='MySqlServer';" & _ "Initial Catalog='Pubs';Integrated Security='SSPI';" ' Open the RoySched Table Set rstRoySched = New ADODB.Recordset strSQLSched = "roysched" rstRoySched.Open strSQLSched, strCnxn, , , adCmdTable ' Enumerate the Recordset object twice and ' record the elapsed time sngStart = Timer For intLoop = 1 To 2 rstRoySched.MoveFirst If Not rstRoySched.EOF Then ' Execute a simple operation for the ' performance test Do strTemp = rstRoySched!title_id rstRoySched.MoveNext Loop Until rstRoySched.EOF End If Next intLoop sngEnd = Timer sngNoCache = sngEnd - sngStart ' Cache records in groups of 30 records. rstRoySched.MoveFirst rstRoySched.CacheSize = 30 sngStart = Timer ' Enumerate the Recordset object twice and record ' the elapsed time For intLoop = 1 To 2 rstRoySched.MoveFirst Do While Not rstRoySched.EOF ' Execute a simple operation for the ' performance test strTemp = rstRoySched!title_id rstRoySched.MoveNext Loop Next intLoop sngEnd = Timer sngCache = sngEnd - sngStart ' Display performance results. MsgBox "Caching Performance Results:" & vbCr & _ " No cache: " & Format(sngNoCache, "##0.000") & " seconds" & vbCr & _ " 30-record cache: " & Format(sngCache, "##0.000") & " seconds" ' clean up rstRoySched.Close Set rstRoySched = Nothing Exit Sub ErrorHandler: ' clean up If Not rstRoySched Is Nothing Then If rstRoySched.State = adStateOpen Then rstRoySched.Close End If Set rstRoySched = Nothing If Err <> 0 Then MsgBox Err.Source & "-->" & Err.Description, , "Error" End If End Sub 'EndCacheSizeVB
See Also
CacheSize Property | Recordset Object