ASP - Optimizacion de consultas SQL

 
Vista:

Optimizacion de consultas SQL

Publicado por Martin (2 intervenciones) el 15/07/2005 06:12:05
hola, tengo una pagina con varias consultas sql sobre la misma coneccion a una base de datos. A nivel optimizacion del server es lo mismo crear y destruir cada objeto recordset de cada consulta, o puedo crearlo una vez, hacer varias consultas y luego destruirlo? esto es:

' para una coneccion ya abierta : Conn
'----------------- opcion 1 -----------------------------
set rs=Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM tabla WHERE id=2, Conn
' consulta 1 : bla bla
rs.close
set rs=nothing
set rs=Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM tabla WHERE id=8, Conn
' consulta 2 : bla bla
rs.close
set rs=nothing
'----------------- opcion 2 ----------------------------
set rs=Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM tabla WHERE id=2, Conn
' consulta 1: bla bla
rs.close
rs.Open "SELECT * FROM tabla WHERE id=8,Conn
' consulta 2: bla bla
rs.close
set rs=nothing

Hay alguna diferencia de optimizacion o es lo mismo?
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:Optimizacion de consultas SQL

Publicado por charlos (170 intervenciones) el 17/07/2005 20:22:09
Lo que haces esta bién pero mi consejo es que utilices un recordset con el total de todas las consultas y luego vayas filtrando que es para lo que se diseñó.

SQL="SELECT * FROM tabla "
Set rs = Server.CreateObject("adodb.recordset")
rs.cursorlocation=3
rs.Open SQL, cadena_conexion, 3, 3, 2

rs.filter "id=8" ' o rs.filter "id="& valor

while not rs.eof
...
rs.movenext
Loop

rs.filter "id=2" ' o rs.filter "id="& valor

while not rs.eof
...
rs.movenext
Loop

solo abres una consulta y trabajas con el record set.
No se aconseja se la tabla es muy grande (grande se refiere a miles o cientos de miles de registros)
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