Problema con eficiencia

10/11/2005 - 18:41 por aydai | Informe spam
Hola a todos!!!
Vereis, tengo un problemilla con la eficiencia, ejecuto este codigo que os
pongo a continuacion

Dim Poblacion As New DataSet(Tabla)

Dim TextoComando As String

'TextoComando = "SELECT " & Campos & " FROM " & Tabla & " WHERE
msc7_ejercicio = " & msc7_ejercicio & ""

TextoComando = "SELECT msc7_subcuenta FROM " & Tabla & " WHERE
msc7_ejercicio = " & msc7_ejercicio & ""

Try

Dim l_sqlDAPoblacion As New SqlDataAdapter(TextoComando, conexion)

l_sqlDAPoblacion.Fill(Poblacion, Tabla)

Catch

Poblacion = New DataSet("Error")

End Try

Return Poblacion

La cuestion es que la consulta debe de devolver 1000000 de registros, y el
tiempo que usa es exagerado, la consulta se lanza contra un servidor de sql
expres, mi pregunta es la siguiente, habria alguna forma de hacer que
funcionase mas rapido??? Es posible que si la base de datos estubiese en un
servidor de sql no express funcionase mas rapido??



Gracias por vuestras respuestas, un saludo

Preguntas similare

Leer las respuestas

#1 Cid
10/11/2005 - 20:16 | Informe spam
Hombre es una consulta que devuelve mucha informacion, revisa si la red
sobre la que corre esta bien configurada, minimo a 100 mb/s sino problem,
tambien mira la memoria del servidor, sql necesita mucha memoria, para
consultas tan grandes debes tener minimo un par de gigas, en cuanto a lo de
la version express pues no te puedo ayudar porque aun no he podido probar
esta version pero me da que se te queda corta.

"" escribió en el mensaje
news:%
Hola a todos!!!
Vereis, tengo un problemilla con la eficiencia, ejecuto este codigo que os
pongo a continuacion

Dim Poblacion As New DataSet(Tabla)

Dim TextoComando As String

'TextoComando = "SELECT " & Campos & " FROM " & Tabla & " WHERE
msc7_ejercicio = " & msc7_ejercicio & ""

TextoComando = "SELECT msc7_subcuenta FROM " & Tabla & " WHERE
msc7_ejercicio = " & msc7_ejercicio & ""

Try

Dim l_sqlDAPoblacion As New SqlDataAdapter(TextoComando, conexion)

l_sqlDAPoblacion.Fill(Poblacion, Tabla)

Catch

Poblacion = New DataSet("Error")

End Try

Return Poblacion

La cuestion es que la consulta debe de devolver 1000000 de registros, y el
tiempo que usa es exagerado, la consulta se lanza contra un servidor de
sql expres, mi pregunta es la siguiente, habria alguna forma de hacer que
funcionase mas rapido??? Es posible que si la base de datos estubiese en
un servidor de sql no express funcionase mas rapido??



Gracias por vuestras respuestas, un saludo


Respuesta Responder a este mensaje
#2 Carlos Gómez
11/11/2005 - 01:00 | Informe spam
¿Para que quieres tener un millon de registros?. Nadie los va a mirar uno a
uno. Como poco con ese monstruo se realizaran filtrados hasta llegar a una
cantidad razonable (100 o a lo sumo 1000). Si el que realiza la consulta no
sabe que es lo que busca no lo encontrara y devolver un millon de valores o
ninguno es lo mismo.
Respuesta Responder a este mensaje
#3 Eduardo A. Morcillo [MS MVP VB]
11/11/2005 - 02:22 | Informe spam
Ademas de filtrado se puede realizar un paginado de los registros
trayendolos de a grupos chicos. Y si combinas filtrado y paginado todavia
mejor.


Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#4 aydai
11/11/2005 - 09:16 | Informe spam
Buenas Eduardo, gracias por responderme. No tengo ni idea en que consiste el
paginado, me podrias dar un ejemplo??
"Eduardo A. Morcillo [MS MVP VB]" <emorcillo .AT. mvps.org> escribió en el
mensaje news:
Ademas de filtrado se puede realizar un paginado de los registros
trayendolos de a grupos chicos. Y si combinas filtrado y paginado todavia
mejor.


Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C

Respuesta Responder a este mensaje
#5 Eduardo A. Morcillo [MS MVP VB]
11/11/2005 - 14:25 | Informe spam
El paginado consiste en traerte desde la base de datos los registros por
grupos en lugar de traer todos los registros que la consulta podria
devolver. De esta forma traes pocos registros lo que mejora la eficiencia.
Aqui tienes un articulo que explica como realizar el paginado (en ingles):

http://msdn.microsoft.com/library/d...owto05.asp

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida