consumo de recursos en Batch query

28/06/2005 - 15:00 por **joselitux** | Informe spam
En una conexion con la base de datos cargo cuatro SELECT en un Resultset.

¿es menos eficiente que abrir y cerrar un recordset por cada sentencia
SELECT para recorrer los resultados?

Quiero decir, ¿no estoy sobrecargando la memoria del servidor
aprovechando que puedo hacer las 4 consultas en una sola conexion?

O sea, me explico, ¿cuál de los dos procedimientos siguientes es más
limpio y tira menos del servidor?.

PRIMERO
conexion.execute ("SELECT 1;SELECT 2;SELECT 3; SELECT 4")
mostrar datos
cerrar conexion

SEGUNDO
conexion.execute("select 1")
mostrar datos y cerrar
conexion.execute("select 2")
mostrar datos y cerrar
conexion.execute("select 3")
mostrar datos y cerrar
conexion.execute("select 4")
mostrar datos y cerrar


Gracias
 

Leer las respuestas

#1 Alejandro Mesa
28/06/2005 - 15:25 | Informe spam
joselitux,

Eso depende del tipo de cursor que estes seteando, propiedades del objeto
recordset como:

- CursorLocation
- CursorType
- LockType
- CacheSize

son determinantes en como sera procesada la data. SQL Server procesara las
cuatro sentencias select como si estas conformaran un batch y mas importante
es el setting de las propiedades mencionadas, asi como la cantidad de data
que sera seleccionada.


AMB

"**joselitux**" wrote:

En una conexion con la base de datos cargo cuatro SELECT en un Resultset.

¿es menos eficiente que abrir y cerrar un recordset por cada sentencia
SELECT para recorrer los resultados?

Quiero decir, ¿no estoy sobrecargando la memoria del servidor
aprovechando que puedo hacer las 4 consultas en una sola conexion?

O sea, me explico, ¿cuál de los dos procedimientos siguientes es más
limpio y tira menos del servidor?.

PRIMERO
conexion.execute ("SELECT 1;SELECT 2;SELECT 3; SELECT 4")
mostrar datos
cerrar conexion

SEGUNDO
conexion.execute("select 1")
mostrar datos y cerrar
conexion.execute("select 2")
mostrar datos y cerrar
conexion.execute("select 3")
mostrar datos y cerrar
conexion.execute("select 4")
mostrar datos y cerrar


Gracias


Preguntas similares