Ya murio el access para microsoft ????

05/11/2005 - 02:17 por Rafael Avendaño Zamorano | Informe spam
Desde hace mucho he estado programando para access
primeramente don DAO y migre a ADO
o mi sorpresa.. era 10 veces mas lento !!!!!
cuando esperaba que cambiar de tecnologia fuera el acceso mucho mejor

despues de lidiar con el cliente acepto

ahora deseo cambiar de ADO a ADO.NET
y o mi sorpresa !!!!
es 100 veces mas lento !!!!!!!!!!!!!!!

cuando utilizo la conexion para sql la consulta me dura 7 milisegundos
y cuando la utilizo para access la misma consulta me dura 800 milisegundos

es que microsoft quiere que nos cansemos de access y nos pongamos a trabajar
solamente
en sql !?

alguien ha tenido el mismo problema ?
Y si es posible alguien lo ha podido resolver ?

o sera bug del vb2005?

Ojo esto pasa cuando las bases de datos son grandes es decir mas de 9000
registros !!
y pensar que yo tengo unas con varios millones :S

raz

Preguntas similare

Leer las respuestas

#6 Rafael Avendaño Zamorano
07/11/2005 - 05:58 | Informe spam
Desafortunadamente migrar a otra base de datos no es una solucion viable
para mi.
de echo la aplicacion es dual Access y SQL
Pero debo mantener la compatibilidad con access.

ademas mi sentencia es muy sencilla.
solo quiero el primer registro de una consulta cualqueira sin usar el TOP 1
ya que este parece ser que sube toda la sentencia aunque solamente suba a
memoria 1 registro

raz

"Fer" escribió en el mensaje
news:%
Hola Rafael, hace un año desarrolle un sistema y utilizamos access el cual
tenia como 15 tablas y fuimos metiendo datos de la gestion 2005 hasta
abril de este año y nuestra base de datos ya tenia unos 45 mb de tamaño y
dameas habia sentencias de sql muy complejas el cula tardaba mucho y con
pocos datos y hicimos cambios que ahora no nos arepentimos que es cambiar
de motor nos tomo varios meses pero lo cambiamos por ese motivo odio el
Access ahora prefireo utilizar foxpro para aplicaciones sencillas.

SAludos

FEr


Respuesta Responder a este mensaje
#7 Tristan
11/11/2005 - 19:28 | Informe spam
No acabo de comprender lo que dices.

Acabo de hacer una sencilla comparación entre ado + vb6 contra ado.net,
sobre una tabla access de 100.000 registros. Para hacer la comparación he
probado la misma consulta que tú, un Select Top 1 * from tabla where campo >
valor order by campo. El tiempo de ejecución de la aplicación vb6 ado y el
de vb.net ado.net es el mismo, unos 4 segundos.

En realidad ado.net no baja todas las filas desde el motor de access. Lo que
ocurre tanto en ado.net como en ado (o en dao) es que el order by obligará a
que la tabla entera se ordene. Por mucho que solo consultes una fila
mediante Top 1, realmente se tienen que ordenar todas las filas.

Sobre lo que dices de que cambiar de tecnología debería ser mejor, ten en
cuenta que ado.net está optimizado para trabajar de forma desconectada. Las
motores de datos como access no son precisamente la mejor forma de sacar
partido a ado.net, pero en cualquier caso te aseguro que he medido una
velocidad idéntica en tu caso entre ado y ado.net. Probablemente dao consiga
resultados ligeramente más rápidos sobre access, está optimizado
exclusivamente para trabajar sobre ella, pero en todo caso sólo pueden ser
ligeramente mejores.

Por cierto, no olvides que siempre puedes utilizar ado o incluso dao en
vb.net. No he probado en vb.net 2005, pero te aseguro que funcionan
perfectamente en anteriores versiones.

Juan Carlos Badiola
MVP - C#
Respuesta Responder a este mensaje
#8 Rafael Avendaño Zamorano
12/11/2005 - 03:01 | Informe spam
Pero no necesita ordenarla ya que el campo de busqueda es la llave
principal.


"Tristan" escribió en el mensaje
news:
No acabo de comprender lo que dices.

Acabo de hacer una sencilla comparación entre ado + vb6 contra ado.net,
sobre una tabla access de 100.000 registros. Para hacer la comparación he
probado la misma consulta que tú, un Select Top 1 * from tabla where campo
> valor order by campo. El tiempo de ejecución de la aplicación vb6 ado y
el de vb.net ado.net es el mismo, unos 4 segundos.

En realidad ado.net no baja todas las filas desde el motor de access. Lo
que ocurre tanto en ado.net como en ado (o en dao) es que el order by
obligará a que la tabla entera se ordene. Por mucho que solo consultes una
fila mediante Top 1, realmente se tienen que ordenar todas las filas.

Sobre lo que dices de que cambiar de tecnología debería ser mejor, ten en
cuenta que ado.net está optimizado para trabajar de forma desconectada.
Las motores de datos como access no son precisamente la mejor forma de
sacar partido a ado.net, pero en cualquier caso te aseguro que he medido
una velocidad idéntica en tu caso entre ado y ado.net. Probablemente dao
consiga resultados ligeramente más rápidos sobre access, está optimizado
exclusivamente para trabajar sobre ella, pero en todo caso sólo pueden ser
ligeramente mejores.

Por cierto, no olvides que siempre puedes utilizar ado o incluso dao en
vb.net. No he probado en vb.net 2005, pero te aseguro que funcionan
perfectamente en anteriores versiones.

Juan Carlos Badiola
MVP - C#

Respuesta Responder a este mensaje
#9 Jose Maria
15/12/2005 - 19:30 | Informe spam
Esto es posible que te ayude:

http://www.codeproject.com/vb/net/S...rdsets.asp

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