Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-10-2006
Avatar de xander
xander xander is offline
Miembro
 
Registrado: jul 2006
Posts: 499
Poder: 18
xander Va por buen camino
Smile Prepare lento en Firebird.. y en MySQL??

Habia formulado esta pregunta en el foro de PHP pero creo que es mejor que se discuta aqui:

Al respecto de esto de la velocidad de los manejadores de bases de datos, quisiera preguntar algo a los que trabajan con MySQL y PosgreSQL y es ¿que tan buen desempeño tienen estos manejadores cuando te conectas remotamente via una VPN o Internet de baja velocidad?, en general una red lenta??? a Firebird le duele el mandar a preparar las consultas... muchas veces tarda mas en resolver la preparación que lo que se tarda en obtener los datos en si. esto tambien sucede en MySQL??? ó cuando usas MySQL ya no piensas en usar multicapas??

En Firebird cuando preparas una consulta de manera local el proceso solo toma algunas micras de segundo, pero remotamente puede tardar varios segundos cruciales. No he hecho pruebas con MySQL y quisiera conocer opiniones.

A ver que me contestan, tal vez me convenzan de pasarme al "lado oscuro"
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..."
Responder Con Cita
  #2  
Antiguo 10-10-2006
Avatar de xander
xander xander is offline
Miembro
 
Registrado: jul 2006
Posts: 499
Poder: 18
xander Va por buen camino
Se me hace dificil pensar que nadie usa MySQL a travez de Internet y que me pueda dar una idea del desempeño del motor en estas condiciones...

O tal vez es que no quieren que me pase a ese motor y asi tengan otro más en la competencia
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..."
Responder Con Cita
  #3  
Antiguo 10-10-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
El problema es que "somos los mismos" del otro foro, y ya hemos contestado, otra cosa distinta es que no te parezca bien lo que hemos escrito y decidas probar otra vez para ver si ahora encuentras la respuesta que tú quieres.
Responder Con Cita
  #4  
Antiguo 11-10-2006
Avatar de xander
xander xander is offline
Miembro
 
Registrado: jul 2006
Posts: 499
Poder: 18
xander Va por buen camino
contestaron???... lo que pasa es que no quería desvirtuar la otra conversación... y supuse que las respuestas eran para la otra persona.

Ok, me quieres decir que Firebird es mejor que SQL en conexiones remotas???? porque los datos que ofrecias me parecio que eran para el desempéño con PHP no???

Lo que yo quiero saber es quien es mejor remotamente en aplicaciones de escritorio usando Delphi. Saber si tu ya tienes alguna experiencia al respecto o alguien aqui probo Firebird primero y luego se convenció de alguna manera que MySQL funciona mejor al respecto... es solo eso
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..."
Responder Con Cita
  #5  
Antiguo 11-10-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
La comparativa de bases de datos tiene muchos matices. Ninguna es perfecta y una u otra se adaptará mejor a ciertos requerimientos y ciertas condiciones de trabajo, por no hablar de la hablidad de quien esté a cargo de la programación de los sistemas y su mantenimiento.

Entro diciendo esto porque me parece que ni firebird será mejor que mysql ni mysql mejor que firebird en todos los aspectos.

Con respecto de la preparación de los queries, es probable que mysql sea mas rápido que firebird. Seguramente para devolver el resultado de los mismos también (depende del tipo de tablas que estes usando). La pregunta es: ¿La preparación de queries y su ejecución es el punto mas vital de tu aplicación?. Si la respuesta es si, probablemente debes quedarte con mysql.

Si no, debes evaluar otros aspectos.

En general, cualquier motor al que se establezca una conexión de manera remota tendrá un desempeño mas pobre que si se establece una conexión local, por eso, independientemente del motor, si vas a conectarte de manera remota, siempre debes pensar en usar multicapas..

Saludos.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 11-10-2006
Avatar de xander
xander xander is offline
Miembro
 
Registrado: jul 2006
Posts: 499
Poder: 18
xander Va por buen camino
Cita:
Empezado por jachguate
Con respecto de la preparación de los queries, es probable que mysql sea mas rápido que firebird. Seguramente para devolver el resultado de los mismos también (depende del tipo de tablas que estes usando). La pregunta es: ¿La preparación de queries y su ejecución es el punto mas vital de tu aplicación?. Si la respuesta es si, probablemente debes quedarte con mysql.
Pues si, lo que busco es tener la máxima velocidad en la conexión por internet, por eso preguntaba si MySQL es más rápido pero parece que nadie ha hecho aqui la prueba, y de verdad me sorprende que a estas alturas de la gente que tiene tanto tiempo trabajando con BD's con delphi nunca haya hecho esta prueba por lo menos por curiosidad

Cita:
Empezado por jachguate
En general, cualquier motor al que se establezca una conexión de manera remota tendrá un desempeño mas pobre que si se establece una conexión local, por eso, independientemente del motor, si vas a conectarte de manera remota, siempre debes pensar en usar multicapas..
De eso ya tenía alguna idea... el n-tier es mejor que el C/S para estos casos, ahora ¿hay alguna opción OpenSource para Delphi como middleware para hacer aplicaciones n-tier??? todo de lo que tengo conocimiento hasta ahora es de pago, y no quiero depender de ningun proveedor externo, quisiera tener los fuentes a mi disposición para poder asegurar la escalabilidad de mi programa.

Gracias JachGuate
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..."
Responder Con Cita
  #7  
Antiguo 11-10-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
En las pruebas que he hecho con mysql y firebird, por internet, con una aplicación para una inmobiliaria, o sea, que los propietarios actualizan de vez en cuando y no es prioritario la velocidad y luego sí que se hacen muchas consultas por parte de los clientes. Pues bien, las conclusiones fueron que con mysql, cuando eran consultas pequeñitas, respondía un poquito antes que firebird, pero cuando la consulta implicaba la devolución de bastantes registros, entonces era firebird quien respondía más rápido.
En pruebas "bestiales" de traerse decenas de miles de registros para presentarlos luego en pantalla, mysql tardaba bastante, sin embargo con firebird era casi instantáneo.
Pero, claro, esas fueron "mis" conclusiones con "mis" pruebas, con "mis" datos, para "mis" necesidades puntuales con un cliente determinado.
Todo es muy relativo y depende de muchísimos factores, cada uno debe evaluar sus requerimientos, sus necesidades y llegar a conclusiones propias que se adapten a lo que necesite.
Espero que sirva de algo este comentario.

También fueron pruebas con una sóla conexión, yo solito.
Pd.: perdona, xander, no había entendido bien lo que preguntabas.

Última edición por Casimiro Notevi fecha: 11-10-2006 a las 09:51:06.
Responder Con Cita
  #8  
Antiguo 11-10-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cita:
Empezado por xander
pero parece que nadie ha hecho aqui la prueba, y de verdad me sorprende que a estas alturas de la gente que tiene tanto tiempo trabajando con BD's con delphi nunca haya hecho esta prueba por lo menos por curiosidad
O quienes han hecho la prueba no han pasado por aqui, o no quieren desvelar sus resultados...
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #9  
Antiguo 01-11-2006
tefots tefots is offline
Miembro
 
Registrado: feb 2005
Posts: 108
Poder: 20
tefots Va por buen camino
yo tambien hice la prueba con una conexion remota a una bd mysql y a otra firebird.
con mysql abrir las tablas/querys es bastante mas rápido que con firebird , pero cuando hay muchos datos , o se ejecuta una consulta que devuelva gran cantidad de datos , firebird tarda menos en devolver la consulta y los datos.

en ambos casos , hay que tener en cuenta el tipo de componentes que se usan , ya que algunos componentes se bajan todos los registros de golpe , y otros componentes se van bajando poco a poco los registros conforme vamos avanzando en el dataset.


para cualquier conexion remota a través de internet a cualquier base de datos (mysql , firebird ,sqlserver , etc) yo recomiendo crear una vpn , la cual cifra y comprime los paketes ip.
si haceis la prueba , con firebird y usando una vpn , la velocidad se incrementa mucho.
Responder Con Cita
  #10  
Antiguo 01-11-2006
Avatar de xander
xander xander is offline
Miembro
 
Registrado: jul 2006
Posts: 499
Poder: 18
xander Va por buen camino
Porque no mantendrá la aplicación delphi el código de ejecución de la consulta cuando se prepara en tiempo de diseño???

Eso estaria muy bien porque asi podría mantener preparadas desde el tiempo de diseño las consultas que se ejecutarán mas frecuentemente y no habría necesidad de prepararlas cada vez que se ejecute el programa; si se pudiera hacer eso estaria de pelos; pocos, pero pelos.
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..."
Responder Con Cita
  #11  
Antiguo 01-11-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cita:
Empezado por xander
Porque no mantendrá la aplicación delphi el código de ejecución de la consulta cuando se prepara en tiempo de diseño???
Por que dicho "código" reside en el servidor de base de datos y delphi no tiene (o no debiera tener) acceso a él.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #12  
Antiguo 01-11-2006
Avatar de xander
xander xander is offline
Miembro
 
Registrado: jul 2006
Posts: 499
Poder: 18
xander Va por buen camino
Cita:
Empezado por jachguate
Por que dicho "código" reside en el servidor de base de datos y delphi no tiene (o no debiera tener) acceso a él.
Pues por lo menos con Firebird si es posible tener acceso al código de ejecución, en IBObjects Jason Wharton tiene un demo sobre como puedes tu simple mortal crear tu propia consulta en BLR para traer datos del servidor, no quiero decir que este muy fácil, para nada, hay que conocer mucho de la sintaxis del lenguaje para hacer algo ínfimo, pero en si es lo que hace el servidor traducir tu solicitud SQL en código BLR. Y se supone que eso es lo que hace el preparar una consulta.

Si se pudiera mantener el código BLR generado por una consulta determinada haciendo la preparación en tiempo de diseño, para despues solo hacer las solucitudes al servidor usando esa sentencia BLR se ahorraria el tiempo de preparacion en ejecución que es lo que generalmente se tarda mas.
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..."
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
prepare pablo Conexión con bases de datos 4 10-05-2005 16:22:01
Mysql lento en Win Me y rapido en win 98 miguelb Windows 0 03-02-2005 21:39:00
Mysql lento en Win Me y rapido en win 98 miguelb MySQL 0 30-12-2004 02:22:16
Mysql + ODBC muy lento con tablas grandes miguelb MySQL 8 28-09-2004 17:36:21
Mysql + ODBC muy lento con tablas grandes miguelb Conexión con bases de datos 1 21-09-2004 23:02:40


La franja horaria es GMT +2. Ahora son las 17:25:07.


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