Visual Basic - LENTITUD EN CONSULTA

Life is soft - evento anual de software empresarial
 
Vista:

LENTITUD EN CONSULTA

Publicado por David Moreno (33 intervenciones) el 06/10/2005 00:22:29
Hola , tengo el siguiente codigo para conectarme a una base de datos

Set InitOpenConnection = New Connection
InitOpenConnection.Provider = "MICROSOFT.JET.OLEDB.4.0"
InitOpenConnection.ConnectionString = Path_Base 'ruta de la base de datos
InitOpenConnection.CursorLocation = adUseClient
InitOpenConnection.Open

Dim SQL As String
SQL = "SELECT * FROM Clientes"
Set Reco_Sour = New ADODB.Recordset
Reco_Sour.CursorLocation = adUseClient
Reco_Sour.Open SQL, InitOpenConnection, adOpenStatic, adLockOptimistic
With Reco_Sour
While Not .EOF
.MoveNext
Wend
.Close
End With
Set Reco_Sour = Nothing

este codigo recorre todos los datos de una tabla, la primera vez que lo hago me tarda casi 21 segundos en recorrer los 5000 registros de la tabla , pero la segunda vez que lo ejecuto apenas tarda 1 segundo.

¿A que se debe esto ? , por que tarda tanto la primera vez y la segunda lo hace tan rapido ?necesito que la primera consulta a la tabla sea muy rapida , si algi¡uien me puede ayudar por favor que me envie un correo a la direccion ( info.sat@telefonica.net ) . Gracias por la ayuda.
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:LENTITUD EN CONSULTA

Publicado por fernando (79 intervenciones) el 11/10/2005 19:22:57
Fijate si lo q tarda es la consulta o el while

por ejemplo, si en SQL ejecutás una consulta pesada y la volvés a ejecutar al toque, tarda también mucho menos la segunda vez.

Si lo q tarda es el while, fijate q esté arrancando las dos veces desde el primer registro, porq ahi no tenés ningun movefirst antes del while, tendrias q comprobar q los dos while recorren los 5000 registros

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar