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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-04-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Tutorial comparativa (IBX + Zeos + Firebird + Velocidad ) Novatos

Hola
Este tutorial mas que para vosotros lo hice para mi.
Mi intención era la de comprobar varias cosas:
1- Conexión componentes IBX o Zeos.
2- Velocidad de Insertar, modificar y borrar registros (tres conceptos básicos).
Bien:
Usando exactamente las mismas consultas (SQL) tanto para IBX como para Zeos muestro en un label la velocidad con que se ejecutan en milisegundos.
Como usar este ejemplo:
El ejemplo tiene una bd firebird 2.1, colocadla en donde queráis he inscribidla en IBExpert (simple)
Para mayor facilidad (C:\bdnueva\BD.FDB) ahí la puse yo.
Al iniciar el programa podeis conectar o desconectar tanto con IBX como a Zeos independientemente.
Ejemplo:
Presionad el boton (conectar IB).
Colocad un Dato (un digito) A, B, etc..
Cambiad la cantidad a insertar, modificar o borrar si queréis (esta en 100 actualmente).
Presionad el botón INSERTAR, veréis el tiempo transcurrido.
Colocad otro dato y presionad MODIFICAR, veréis el tiempo transcurrido.
Presionad el botón BORRAR, lo mismo, veréis el tiempo.
Una vez hecho esto, desconectad IBX (presionad el Botón Desconectar IB).
Presionad el Botón Conectar Zeos y haced lo mismo que hicisteis con IB.
Ahora os podréis dar una idea de la diferencia.
No os preocupéis si tarda un poco, no esta mal el programa, SI hay diferencias.
Espero os de una idea y mejor aun, saber como se pueden modificar las consultas para tener mejor velocidad.
Os dejo el ejemplo.
Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 03-02-2015 a las 19:52:44.
Responder Con Cita
  #2  
Antiguo 10-04-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.011
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola Caral, unas puntualizaciones :
Hablas de interbase y firebird indistintamente, ¿lo has hecho con interbase o firebird?.
La base de datos de pruebas tiene extensión fdb así que supongo que será firebird, ¿qué versión has usado?
Me respondo, has dicho que fb2.1
Entonces queda la duda de interbase
Responder Con Cita
  #3  
Antiguo 10-04-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
DB Firebird, (Los componentes Interbase)
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 10-04-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.011
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Entonces entiendo que es una prueba comparativa con los componentes IBX y Zeos para acceder a Firebird?.
Si es así sería conveniente cambiar el título, ¿te parece bien que lo haga?
Responder Con Cita
  #5  
Antiguo 10-04-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Aqui os dejo unas pantallas de muestra:






Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 10-04-2011 a las 01:06:15.
Responder Con Cita
  #6  
Antiguo 10-04-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Claro amigo, como tu creas conveniente.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 10-04-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.011
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Caral Ver Mensaje
Hola
Claro amigo, como tu creas conveniente.
Saludos
El título lo he retocado un poquito con tu permiso
Las fotos he debido alojarlas en otro sitio porque las originales están alojadas en el servidor de Delphiaccess y no podemos acceder a ellas, o yo no sé cómo se podría hacer.
_____________________________________

Y retornando al tema, hay mucha diferencia entre uno y otro, es curioso, yo juraría que IBX es bastante más rápido que zeos.

Edito: lo había leído mal, obviamente IBX es más rápido porque es de "acceso directo", al igual que FreeIB, FIBplus, etc.
Responder Con Cita
  #8  
Antiguo 10-04-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Y si haces una modificacion de los datos ni te digo la diferencia.
Yo mas bien creia que Zeos era mucho mas rapido y esto me decepciono.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #9  
Antiguo 10-04-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.011
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es que es una filosofía distinta, como bien sabes Zeos está pensado para usar con distintas bases de datos, así que hay que sacrificar la velocidad porque deben añadir una "capa intermedia" que hace la "traducción" a las diversas BD que accede, sin embargo IBX es de acceso directo, sin intermediario alguno y tampoco puede acceder a otro tipo de BD.

Por cierto, hace algún tiempo (2004), Julio Nogueira (CombatF2D) hice una prueba comparativa con diversos componentes accediendo a Firebird, me pareció interesantísimo y lo puse aquí para tenerlo siempre presente.

Como verás el resultado es bastante clarificador:

Aquí el resumen:
Componente Tiempo (sg.)
DBEXpress___________80
BDE________________148
ZEOS_______________309
IBX_________________64
FIBPlus_____________64
UIB_________________86
BDE/ODBC___________195
ADO/ODBC___________211
IBO_________________75


Las pruebas se hicieron, evidentemente, con las versiones de los componentes que había en 2004, los resultados pueden variar con los actuales, pero serán seguramente en la misma proporción.

Última edición por Casimiro Notevi fecha: 10-04-2011 a las 01:27:16.
Responder Con Cita
  #10  
Antiguo 10-04-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Alguna vez vi esa comparacion pero como novato se hace practico tener a mano un programa sencillo que demuestre estas cosas.
Mi intencion era en realidad ''probarlo'' personalmente, no es que no crea en lo que dicen los demas, si no que queria ademas de practicar ver que tanta diferencia podia haber.
Me parece interesante que los novatos puedan comprobar, no solo la diferencia, si no tambien la conexion en tal caso lo preguntan mucho .
Saludos
__________________
Siempre Novato
Responder Con Cita
  #11  
Antiguo 10-04-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.011
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por supuesto, siempre es interesante hacer pruebas de ese tipo, a mí también me gusta hacerlas, aunque haya visto otras similares, pero siempre queda la duda de "y si la hago de esta otra forma qué tanta diferencia existirá?.
Por cierto, el mismo autor hizo otra prueba comparando el acceso a firebird entre un servidor con windows y otro con linux, el resultado es prácticamente el doble de rápido con linux. Aquí está por si te interesa.
Es que me encantan las pruebas comparativas, aunque me digan que pierdo el tiempo

Última edición por Casimiro Notevi fecha: 10-04-2011 a las 01:58:39.
Responder Con Cita
  #12  
Antiguo 10-04-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Esta no la conocía y me alienta a seguir conociendo mas de linux.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #13  
Antiguo 10-04-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Se me olvido comentar:
El usuario de la BD es SYSDBA y la clave natalia
Saludos
__________________
Siempre Novato
Responder Con Cita
  #14  
Antiguo 10-04-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.011
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Realmente el usuario y password no van en la propia base de datos, están en otra base de datos adicional: security2.fdb, así que cuando copias una BD a otro equipo entonces las claves que valen son las de ese equipo.
Ese es uno de los puntos "históricos" de controversia con firebird, unos tienen razones a favor y otros en contra, pero de momento es así, aunque creo que en fb2.5 lo han cambiado.
Responder Con Cita
  #15  
Antiguo 11-04-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.220
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Hola Caral.
Muy interesantes resultados.
Sabía que Access es lento, pero no imaginaba que tanto... está claro que compararlo con SGBD no es "equitativo". No está a la altura de IB/FB.

Creo además que el problemas de tiempo son más de Jet4 (MDB), que no de ADO o Zeos.

Una prueba simple:
He utilizado tu mismo ejemplo con Access en local y los tiempo que me da son similares a los tuyos (en torno a 300ms en ALTA y MODIFICACIÓN).
Luego he probado ADO con SQLServer (en red, ya que en local no lo tengo) y los tiempos de inserción están en torno a 110ms.
¿Si eso es en red, cómo serían en local?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #16  
Antiguo 11-04-2011
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Además de todo esto, que es evidentemente muy interesante y clarificador, también convendría llegar un poco más allá.

Con una BBDD ya con una cantidad importante de registros, y un tamaño digamos 'no pequeño', comparar entonces las diferentes opciones. Porque como siempre, puede haber grandes diferencias entre una BD que contenga un par de registros o que ya contenga 'miles' por decir algo.

En este caso, habría que comparar también teniendo las respectivas tablas debidamente indexadas, porque lo que yo si que he podido comprobar, es que un Select con un poco de complejidad, hacerlo sobre una tabla no indexada a hacerlo sobre la misma tabla simplemente habiéndole creado un índice adicional, es una diferencia como del día a la noche. Una búsqueda sin indexar pueda tardar casi 30 segundos, y con la misma tabla indexada, el tiempo se reduce a unos cuantos milisegundos !

En mi caso particular, siempre estoy hablando de Firebird 2.1 con componentes IBX.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #17  
Antiguo 11-04-2011
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Luego he probado ADO con SQLServer (en red, ya que en local no lo tengo) y los tiempos de inserción están en torno a 110ms.
¿Si eso es en red, cómo serían en local?
Eso sera pq el servidor tiene hardware de servidor, o sea un procesador o varios muy potentes y una memoria tambien..
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #18  
Antiguo 11-04-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Creo que esto puede dar para mas pruebas sencillas.
En mi caso como sabéis cambien de Access (ADO) a Firebird (IBX) y siempre tuve la duda de usar ZEOS para el programa.
Ahora mismo, después del ejemplo de Neftali me parece interesante hacer la comparación de Firbird con MySql, pero no tengo Mysql instalado.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #19  
Antiguo 04-07-2011
Avatar de Diego827
Diego827 Diego827 is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 157
Poder: 14
Diego827 Va por buen camino
Talking Un favorazo

Cita:
Empezado por Caral Ver Mensaje
Hola
Aqui os dejo unas pantallas de muestra:






Saludos
Amigo, ¿como calculaste el tiempo para poder mostrarlos en los tlabel?
Si me sacas de esta duda 100 pts !!! (ya la busque por WWW)
Responder Con Cita
  #20  
Antiguo 04-07-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.011
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Diego827 Ver Mensaje
Amigo, ¿como calculaste el tiempo para poder mostrarlos en los tlabel?
Si me sacas de esta duda 100 pts !!! (ya la busque por WWW)
Amigo, ¡¡¡ ahí tienes el código fuente !!!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Programa (Mini Tutorial) novatos Caral Varios 82 19-10-2016 20:20:12
Tutorial (como empezar con Firebird) Novatos Caral Firebird e Interbase 52 17-01-2014 23:01:31
Hagamos todos un sistema [tutorial no novatos] desde cero !!!!!!!!!!! david_uh Varios 42 29-07-2008 01:57:43
Como Crear una Base de Datos Access (Tutorial Novatos) Caral Tablas planas 3 06-12-2007 21:51:50
Comparativa en la velocidad de los Browsers. Neftali [Germán.Estévez] Noticias 6 17-05-2006 03:37:12


La franja horaria es GMT +2. Ahora son las 08:46:29.


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