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

#1 Rafael Avendaño Zamorano
06/11/2005 - 07:41 | Informe spam
Creo que ya encontre el problema !!!!

estoy utilizando una sentencia con la clausula TOP 1 para devolver solamente
el primer registros es decir

"Select TOP 1 * from [CATALOGO] where CLAVE > " & UltimaClave & " order by
CLAVE"

si esta la cambio por la sentencia
"Select * from [CATALOGO] where CLAVE = " & UltimaClave +1 & " order by
CLAVE"

el resultado es 100 VECES mas rapido !!!!!

mas no es viable

En ADO de VB6 al hacer la sentencia siempre me traia solamente el primer
registro asi que nunca me preocupaba por esto, pero en ADO.NET siempre se
trae toda la consulta.

asi que me queda la pregunta, como puedo hacer para traerme solamente el
primer registro de una consulta.

Abra algun comando que solmanete me traiga un registro aunque la consulta
pueda resultar en muchos ???

abra alguien por alla de microsoft que se le haya ocurrido que quieres
buscar un solo registro !?

raz

"Rafael Avendaño Zamorano" <[QUTAR] escribió en el
mensaje news:%
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


Respuesta Responder a este mensaje
#2 Cid
06/11/2005 - 12:30 | Informe spam
Observas diferencia entre poner top tambien para sql o solo para access? Es
que yo lo uso mucho pero ahora como estoy de pruebas no tengo datos reales
para probarlo.

"Rafael Avendaño Zamorano" <[QUTAR] escribió en el
mensaje news:%
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


Respuesta Responder a este mensaje
#3 Fer
06/11/2005 - 15:27 | Informe spam
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
#4 LuisMiguel
06/11/2005 - 21:40 | Informe spam
Buenas
Tu intención cual es, leer el registro consecutivo?
si es asi, yo averiguaria cual es la siguiente clave:
select min(Clave) from catalogo where clave>ClaveActual

y leeria el registro de la clave obtenida:

Select * from catalogo where Clave=ClaveSig

Pruebalo y dime si te sirve

Suerte
LuisMiguel
"Rafael Avendaño Zamorano" <[QUTAR] escribió en el
mensaje news:

Creo que ya encontre el problema !!!!

estoy utilizando una sentencia con la clausula TOP 1 para devolver
solamente el primer registros es decir

"Select TOP 1 * from [CATALOGO] where CLAVE > " & UltimaClave & " order by
CLAVE"

si esta la cambio por la sentencia
"Select * from [CATALOGO] where CLAVE = " & UltimaClave +1 & " order by
CLAVE"

el resultado es 100 VECES mas rapido !!!!!

mas no es viable

En ADO de VB6 al hacer la sentencia siempre me traia solamente el primer
registro asi que nunca me preocupaba por esto, pero en ADO.NET siempre se
trae toda la consulta.

asi que me queda la pregunta, como puedo hacer para traerme solamente el
primer registro de una consulta.

Abra algun comando que solmanete me traiga un registro aunque la consulta
pueda resultar en muchos ???

abra alguien por alla de microsoft que se le haya ocurrido que quieres
buscar un solo registro !?

raz

"Rafael Avendaño Zamorano" <[QUTAR] escribió en el
mensaje news:%
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







Respuesta Responder a este mensaje
#5 Rafael Avendaño Zamorano
07/11/2005 - 05:55 | Informe spam
Realmente seria darle vuelta a lo mismo ya que la sentencia que me pones,
para poder seleccionar un registro , primero tiene que buscar en toda la
base de datos cual es el minimo.

lo que yo busco es el menor tiempo posible en proceso.
y es tan sencillo como que aunque la consulta me devuelva N filas, yo
solamente lea la primera.

o lo que seria en vb6 una recordset KEYSET del lado del servidor.
sera tan dificil eso ?


raz


"LuisMiguel" <lmolinoARROBAyaPUNTOcom> escribió en el mensaje
news:e$

Buenas
Tu intención cual es, leer el registro consecutivo?
si es asi, yo averiguaria cual es la siguiente clave:
select min(Clave) from catalogo where clave>ClaveActual

y leeria el registro de la clave obtenida:

Select * from catalogo where Clave=ClaveSig

Pruebalo y dime si te sirve

Suerte
LuisMiguel
"Rafael Avendaño Zamorano" <[QUTAR] escribió en el
mensaje news:

Creo que ya encontre el problema !!!!

estoy utilizando una sentencia con la clausula TOP 1 para devolver
solamente el primer registros es decir

"Select TOP 1 * from [CATALOGO] where CLAVE > " & UltimaClave & " order
by CLAVE"

si esta la cambio por la sentencia
"Select * from [CATALOGO] where CLAVE = " & UltimaClave +1 & " order by
CLAVE"

el resultado es 100 VECES mas rapido !!!!!

mas no es viable

En ADO de VB6 al hacer la sentencia siempre me traia solamente el primer
registro asi que nunca me preocupaba por esto, pero en ADO.NET siempre se
trae toda la consulta.

asi que me queda la pregunta, como puedo hacer para traerme solamente el
primer registro de una consulta.

Abra algun comando que solmanete me traiga un registro aunque la consulta
pueda resultar en muchos ???

abra alguien por alla de microsoft que se le haya ocurrido que quieres
buscar un solo registro !?

raz

"Rafael Avendaño Zamorano" <[QUTAR] escribió en el
mensaje news:%
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












Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida