rs.Find o WHERE

22/01/2005 - 20:47 por Ruben Lares | Informe spam
Que tal grupo...

Se que esta pregunta no es para este grupo pero como se
relaciona con Sql Server quiero saber el rendimiento.

Quisiera saber que es mas eficiente, abrir un recordset y
despues utilizar la instruccion rs.Find para encontrar un
registro o bien hacer la instruccion directamente con
WHERE.

Ej.1
Rs.Open "Select Id_Cliente,Nombre from Clientes"
Rs.Find "Id_Cliente=1"

Ej.2
Rs.Open "Select Id_Cliente,Nombre from Clientes WHERE
Id_cliente=1"

Saludos

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera [MVP]
22/01/2005 - 21:17 | Informe spam
No creo que haya una respuesta totalmente exacta a lo que preguntas.

La SELECT-WHERE hará la consulta en el servidor SQL y enviará al cliente
solamente el registro hallado.

La SELECT sin WHERE moverá un conjunto más grande de datos hacia el
record set, pero el rs.Find operará en memoria local.

Si quieres saberlo con rigor, puedes hacer pruebas y medir tus
resultados :-)

Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and
confers no rights.



"Ruben Lares" wrote in message
news::
Que tal grupo...

Se que esta pregunta no es para este grupo pero como se
relaciona con Sql Server quiero saber el rendimiento.

Quisiera saber que es mas eficiente, abrir un recordset y
despues utilizar la instruccion rs.Find para encontrar un
registro o bien hacer la instruccion directamente con
WHERE.

Ej.1
Rs.Open "Select Id_Cliente,Nombre from Clientes"
Rs.Find "Id_Cliente=1"

Ej.2
Rs.Open "Select Id_Cliente,Nombre from Clientes WHERE
Id_cliente=1"

Saludos
Respuesta Responder a este mensaje
#2 Ruben Lares
22/01/2005 - 21:30 | Informe spam
Gracias
Respuesta Responder a este mensaje
#3 Maxi
23/01/2005 - 17:48 | Informe spam
Hola,

Si usas el Where el ancho de banda de la red sera mucho menor seguramente y
no solo eso, sino que se podra utilizar los indices de SqlServer si es que
existieran. Si haces un Select * from y luego filtras en tu cliente no
podras usar ni los indices y el ancho de banda se podria poner el riesgo.

Como tecnica me parece que lo correcto es que siempre pero siempre las
querys (SP dentro de lo posible) retornen solo lo que se va a usar, ya se a
nivel de campos o registros.

"Ruben Lares" escribió en el mensaje
news:0c4801c500bb$3036a8a0$
Que tal grupo...

Se que esta pregunta no es para este grupo pero como se
relaciona con Sql Server quiero saber el rendimiento.

Quisiera saber que es mas eficiente, abrir un recordset y
despues utilizar la instruccion rs.Find para encontrar un
registro o bien hacer la instruccion directamente con
WHERE.

Ej.1
Rs.Open "Select Id_Cliente,Nombre from Clientes"
Rs.Find "Id_Cliente=1"

Ej.2
Rs.Open "Select Id_Cliente,Nombre from Clientes WHERE
Id_cliente=1"

Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida