Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-01-2005
Oxa78 Oxa78 is offline
Miembro
 
Registrado: may 2003
Ubicación: Lima - Peru
Posts: 110
Poder: 22
Oxa78 Va por buen camino
BDE igual de rápido q DBExpress

Saludos Foro : Tengo una historia, y dice asi : Trabajo con D5 + MS SQL Server 2000 y con el BDE.
Entonces al ver el avance de las versiones del Delphi, decidi avanzar hacia D7 para tomar la tecnología DBExpress en mis proyectos, ya q el BDE esta obsoleto.

Para esto utilizando D7, decidi hacer algunas pruebas comaparativas entre el BDE y DBExpress :

1) Prueba de Grabación : Tome el maestro de Clientes e inserte todos sus datos en otra tabla en blanco de igual estructura, tenia 2,000 registros. Hice esta operacion leyendo registro x registro, haciendo un insert en la tabla en blanco, asignaba los datos y luego ApplyUpdates(0).

Resultado : BDE - 1 minuto 08 segundos
DBEXpress : 1 minuto 12 segundos.

2) Prueba tome una consulta SQL q trabaja con varias tablas, 4 lef joins de mi antiguo sistema.

Resultado : BDE - 0 Segundos DBExpress - 0 segundos


Aparentemente en estos puntos q me parecen relevantes no hay ventaja del DBExpress sobre el BDE.

Quisiera saber si estoy equivocado sobre ests pruebas, seguramente hay otras formas para demostrar la superioridad del DBExpress sobre el BDE.

Como demostrarlo?
Que enfoque tomar para estas pruebas?

Segun la información que lei dice :

OBJETIVOS DE DBExpress : Cuando se planteo la creación de este nuevo sisitema de acceso a datos, se tuvieron en cuenta las siguientes objetivos :

* Velocidad de respuesta.

Quisiera probar este punto : Velocidad de respuesta. Se supone q es mas rápido q el BDE.

Gracias de antemano por sus respuestas.
__________________
Joseph Buttgembach Verde
Lima - Perú
Responder Con Cita
  #2  
Antiguo 20-01-2005
Oxa78 Oxa78 is offline
Miembro
 
Registrado: may 2003
Ubicación: Lima - Peru
Posts: 110
Poder: 22
Oxa78 Va por buen camino
Mi estructura de conexión

Para las pruebas utilice la siguiente estructura :

BDE : DataBase + Session
Query + DataSetProvider - ClientDataSet + DataSource

DBExpress : SQLConnection
SQLQuery + DataSetProvider - ClientDataSet + DataSource
__________________
Joseph Buttgembach Verde
Lima - Perú
Responder Con Cita
  #3  
Antiguo 20-01-2005
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 22
Mick Va por buen camino
Tu mismo has demostrado la superioridad de dbexpress, en el software cualquier tecnologia nueva y superior que aparece es mas lenta que la anterior. Esto se cumple en el 90% de los casos.

DBExpress intenta abstraer el acceso a los datos de modo que permita conectar a muy distintas bases de datos de forma sencilla y con un interface comun, permitiendo ademas realizar aplicaciones de 3 capas, y muchas mas cosas. Desgraciadamente cuanto mas se abstrae de esta forma, mas lento se vuelve el acceso.

Independientemente de esto la prueba que has hecho es demasiado simple de modo que es logico que te haya dado resultados parecidos en los dos sistemas.

Saludos
Responder Con Cita
  #4  
Antiguo 20-01-2005
Avatar de argami
argami argami is offline
Miembro
 
Registrado: jun 2003
Ubicación: Barcelona
Posts: 57
Poder: 21
argami Va por buen camino
Quizas deberias pensar que el planteamiento para dbExpress es trabajar en sessiones no grabando registro por registro, la verdadera velocidad la veras si haces lo mismo que hiciste pero el applyupdates hazlo al terminar las todos los inserts y siquieres luegos publica cual ha sido la rapidez por registro.
__________________
Gami

------------------------------------------------------------------
La necesidad no tolera tardanzas pero mas vale tarde que nunca
Responder Con Cita
  #5  
Antiguo 20-01-2005
Oxa78 Oxa78 is offline
Miembro
 
Registrado: may 2003
Ubicación: Lima - Peru
Posts: 110
Poder: 22
Oxa78 Va por buen camino
Muchas gracias por las respuestas :

Segui el consejo de "argami", es decir hice los inserts sobre la tabla y al final, despues de insertar los 2,000 registros hice un solo ApplyUpdates(0), y los resultados fueron :

BDE : 21 segundos
DBExpress : 22 Segundos

Que contradictorio, esperaba que DBExpress supere principalmente en rapidez al BDE, deberia ser el principio basico, segun los conceptos que lei y dice "Velocidad de Respuesta", espero estar equivocado...
__________________
Joseph Buttgembach Verde
Lima - Perú
Responder Con Cita
  #6  
Antiguo 20-01-2005
Oxa78 Oxa78 is offline
Miembro
 
Registrado: may 2003
Ubicación: Lima - Peru
Posts: 110
Poder: 22
Oxa78 Va por buen camino
Saludos : Y continuando con la pruebas, ahora tenemos :

Decidi hacer las pruebas sin trafico en la red, es decir hice las pruebas cuando ningun ususario estaba conenectado a la BD ni a la red.

Comparaciones entre DBExpress - BDE - ADO


Resultado promedio obtenido despues de hacer la misma prueba mencionanada en el mensaje anterior, 10 veces :

DBExpress : Lectura : 3.7 seg - Grabación : 11.3 seg Total : 15 seg
BDE : Lectura : 3.6 seg - Grabación : 6.4 seg Total : 10 seg
ADO : Lectura : 6 seg - Grabación : 12.2 seg Total : 18.2

Impresionante ...

Pero el BDE es obsoleto, bueno asi dicen, tendre q cambiar a DBExpress asi sea 50% mas lento. Sinceramente antes de hacer las pruebas de tiempo, probaba la grabación y consultas con DBExpress y me daba la impresión q era mas rápido, pero no es cierto ...
__________________
Joseph Buttgembach Verde
Lima - Perú
Responder Con Cita
  #7  
Antiguo 21-01-2005
Avatar de argami
argami argami is offline
Miembro
 
Registrado: jun 2003
Ubicación: Barcelona
Posts: 57
Poder: 21
argami Va por buen camino
No se por que pero creo que aqui el mayor tiempo se lo lleva los midas (TclientDataset y TDataSetProvider).

Pero puede que al ser una capa general para varias bases de datos si sea mas lento.

has probado la haciendo los insert's a pelo??
__________________
Gami

------------------------------------------------------------------
La necesidad no tolera tardanzas pero mas vale tarde que nunca
Responder Con Cita
  #8  
Antiguo 21-01-2005
Oxa78 Oxa78 is offline
Miembro
 
Registrado: may 2003
Ubicación: Lima - Peru
Posts: 110
Poder: 22
Oxa78 Va por buen camino
Finalmente, "BDE sigue siendo mas rápido que DBExpres y ADO"

Saludos Foro:

Y continuando con las pruebas, segui el consejo de "argami", descarte los ApplyUpdates para grabar los datos, y utilice Inserts SQL. Los resultados promedio despues de realizar 5 veces la misma operación, son :

DBExpress 11.8 segundos
BDE 11.2 segundos
ADO 20.2 segundos

Finalmente, "BDE sigue siendo mas rápido que DBExpres y ADO"
__________________
Joseph Buttgembach Verde
Lima - Perú
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:50:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi