Sobre rendimiento de SQL SERVER - Consulta muy lenta

13/05/2010 - 20:45 por José [Py] | Informe spam
saludos a todos!
Debo migrar una base de datos hecha en Access 2003 a SQL SERVER Express 2008
R2.
Tengo una tabla que tiene 20 campos, numéricos y de tipo texto, la tabla
tiene 155.386 registros.

En Access, una consulta sobre todos los registros de esa tabla no tarda ni
siquiera 1 segundo.
Usando un procedimiento almacenado en SQL, tarda 5 segundos en mostrar los
155.386 registros, en el plan de ejecución el 100% está sobre el scan table.

Me cuestionan que como es posible que SQL tarde tanto en comparación con
Access, cuando se supone que esa cantidad de registros al SQL no debería
hacerle ni cosquillas.
He puesto índices en SQL server sobre tres campos para acelerar, pero no
encuentro como.

Como la aplicación esta en Access y el volumen de datos está creciendo
considerablemente (las consultas en Access se están volviendo lentas debido
a este volumen), se está pensando migrar a SQL SERVER, pero... al ver esta
pequeña prueba de rendimiento, se nos cae el alma al suelo...

Yo suponía que el SQL SERVER debería trabajar mas rápido en devolver las
consultas mediante un procedimiento almacenado.

Me estoy ahogando en un vaso de agua? Como puedo justificar el cambio si las
pruebas resultan así de lentas?
Alguna sugerencia o consejo al respecto?

Mil gracias por la ayuda de siempre...

Preguntas similare

Leer las respuestas

#6 raipon
15/05/2010 - 16:15 | Informe spam
Me asalta una duda : ¿ En que entorno realizas la comparativa de rendimiento
?, ¿ una pantalla de Access (la vista Hoja de datos de una consulta) versus
una pantalla de resultados en Sql Server Managament Studio ?

Adios, un saludo.
Respuesta Responder a este mensaje
#7 José [Py]
15/05/2010 - 21:30 | Informe spam
Si raipon, es exactamente lo que hago, no es correcto???
Respuesta Responder a este mensaje
#8 raipon
17/05/2010 - 08:21 | Informe spam
Verás, para hacer comparaciones, debes utilizar el mismo escenario en ambos
casos, por tanto, para hacer una comparativa de rendimiento utiliza por
ejemplo dos recordsets de características análogas. Procura también que la
localización de los datos sea equitativa (no cargues datos de Access en
local, y de sql server accediendo al servidor a traves de la red).

Igualmente, si utilizas Ado procura, en ambos casos, haber abierto y
cerrado, previamente, una conexión a los datos. Esta precaución la debes
tomar porque sql server es siempre algo más lento para establecer la primera
conexión.

Adios, un saludo.

"José [Py]" <gimenezj(ARROBA)hotmail(Punto)com> escribió en el mensaje
news:
Si raipon, es exactamente lo que hago, no es correcto???
Respuesta Responder a este mensaje
#9 María Eugenia
17/05/2010 - 13:30 | Informe spam
José, en Access armas un proyecto o vinculas cada tabla con sql????. Digamos
de qué extensión queda tu archivo de access???

Maria Eugenia



"José [Py]" <gimenezj(ARROBA)hotmail(Punto)com> escribió en el mensaje
news:%
saludos a todos!
Debo migrar una base de datos hecha en Access 2003 a SQL SERVER Express
2008 R2.
Tengo una tabla que tiene 20 campos, numéricos y de tipo texto, la tabla
tiene 155.386 registros.

En Access, una consulta sobre todos los registros de esa tabla no tarda ni
siquiera 1 segundo.
Usando un procedimiento almacenado en SQL, tarda 5 segundos en mostrar los
155.386 registros, en el plan de ejecución el 100% está sobre el scan
table.

Me cuestionan que como es posible que SQL tarde tanto en comparación con
Access, cuando se supone que esa cantidad de registros al SQL no debería
hacerle ni cosquillas.
He puesto índices en SQL server sobre tres campos para acelerar, pero no
encuentro como.

Como la aplicación esta en Access y el volumen de datos está creciendo
considerablemente (las consultas en Access se están volviendo lentas
debido a este volumen), se está pensando migrar a SQL SERVER, pero... al
ver esta pequeña prueba de rendimiento, se nos cae el alma al suelo...

Yo suponía que el SQL SERVER debería trabajar mas rápido en devolver las
consultas mediante un procedimiento almacenado.

Me estoy ahogando en un vaso de agua? Como puedo justificar el cambio si
las pruebas resultan así de lentas?
Alguna sugerencia o consejo al respecto?

Mil gracias por la ayuda de siempre...
Respuesta Responder a este mensaje
#10 José
25/05/2010 - 00:10 | Informe spam
Gracias por responder, si, estaba pensando que no estoy haciendo tal vez lo
correcto, pero asombra la diferencia de tiempo entre uno y otro.
A los ojos de los menos entendidos (me incluyo, porque estoy dando mis
primeros pasos con SQL SERVER) esta diferencia de tiempo entre que Access
muestre esos datos sobre su tabla y SQL sobre su tabla, es bastante
chocante. Aun así entiendo que SQL SERVER DEBE gestionar mejor los datos y
darme un rendimiento mas elevado que Access
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida