Page 1 of 2

Velocidad conexion nativa vs tdolphin

PostPosted: Fri Jun 23, 2023 10:53 am
by JoseAlvarez
Hola a todos amigos.

Tomando en cuenta los argumentos que el master ACUELLAR posteó hace dias y su sugerencia de usar la clase de conexión nativa de FW a mariaDB, hice mi primera prueba, pero me consigo con que la velocidad de respuesta de la clase nativa ante tDolphin, es mucho mas lenta. Dejo por aca lo que hice, a ver si estoy errado en algo, o realmente por alguna razón o beneficio adicional, la clase nativa de mr rao es mas lenta.

Hago la conexión con un servidor en la nube y base de datos MySql asi:

CLASE NATIVA:

Code: Select all  Expand view
   _oSqlConex := maria_Connect( cServerName, cDatabaseName, cUserName, cPassword )
  if _oSqlConex == nil
    ? "Connection fail"
    return nil
  endif


tDolphin:

Code: Select all  Expand view
    _oSqlConex:=tDolphinSrv():New( _cHost, _cUser, _cPasswordUser, val(_cPuertoMysql),, _cDataBase,  { | oConex, nError |  SQL_ConnetError( oConex, nError ) })
    if _oSqlConex:lError
      return .f.
  endif
 


En el proceso de conexión no veo diferencia, ambas funcionan igual, pero al hacer una consulta a una tabla que solo tiene UN registro, asi:

Code: Select all  Expand view
    cQuery  :="SELECT * FROM empresa ;"

    TRY
    oEmpresa:=_oSqlConex:Query( cQuery )
    CATCH
      Fnct_MsgErrorBD("NoMySql"  , .f. , "No hay conexión a La Base de Datos" , "Sin Acceso a La Red","Error en servicio de Datos",)
      lOk:=.f.
    END TRY

    if oEmpresa:EOF()
      Fnct_MsgError("Error"  , .f. , "No se Encontró la información " )
      lOk:=.f.
    endif
 


Con la clase nativa tarda 6 segundos en responder, con tDolphin 3 segundos, es decir, una diferencia del 50% menos con tDolphin, eso en una tabla de solo UN registro, me imagino que en tablas con mayor cantidad, el tiempo de respuesta se extenderá significativamente.

¿alguien más ha observado esta diferencia de tiempo?
¿hay que hacer alguna otra cosa cuando se trabaja con la clase nativa?

Quedo atento a sus opiniones.

Re: Velocidad conexion nativa vs tdolphin

PostPosted: Tue Jun 27, 2023 7:17 pm
by JoseAlvarez
¿Nadie?

Re: Velocidad conexion nativa vs tdolphin

PostPosted: Tue Jun 27, 2023 11:28 pm
by Adolfo
Jose

Utilizo FWMARIA, use Tdolphin
Me quede con la nativa por mas opciones que la tDolphin.
Tengo unas consultas sobre tablas con varios millones de registros, donde traigo 4 columnas de 25, la velocidad es excelente, con la opción de paginación casi no se sienten los millones de registros que traigo, mas con xbrowse haciendo order y busqueda.

En consultas pequeñas y en grandes se demora casi lo mismo en abrir, ya sea en LAN o por acceso a servidor en WEB.

En algunas opciones de auditoria donde hago consultas sobre 10 tablas relacionadas nunca he tenido un problema, eso si, me costo dar con la opción correcta de "consulta sql" con que tabla es la "maestra" y cuales son las "left join" según mi diseño de datos.

Si hay diferencia en velocidad, pero de acuerdo a como gestiono las consultas casi ni se nota. y NUNCAAAAAA hago un "select * from mitabla", minimizo al máximo los datos que voy a rescatar de la tablas y sus relaciones.

Ojala te sirva de algo

Re: Velocidad conexion nativa vs tdolphin

PostPosted: Wed Jun 28, 2023 12:35 am
by JoseAlvarez
Gracias Adolfo.

Muy valiosa tu explicación. Voy a probar de nuevo a ver si logro optimizar.

Otra duda que tengo sobre esta clase, es tengo entendido que la misma efectua los cambios directos a la base de datos desde los objetos del query. Es asi? Porque de ser asi entonces, ¿conecta automaticamente para hacer los cambios y desconecta? O mantiene la conexión constante hasta que se mande a cerrar? ¿Como se manejan las concurrencias si la misma clase hace las actualizaciones? En fin, tengo muchas dudas con la clase y de verdad quiero usarla.

Si es el caso que mantiene la conexion permanente, no creo que pueda aprovecharla, porque el servidor con el que trabajo cierra la conexión automaticamente a los 20 segundos sin actividad.

Re: Velocidad conexion nativa vs tdolphin

PostPosted: Wed Jun 28, 2023 2:10 am
by Willi Quintana
HOla Amigos,
con la clase nativa de FiveWin... MariaSQL,
un select con 30 campos y 2600 registros, en un servidor remoto, 3 segundos y me muestra en un xbrowse.....

Re: Velocidad conexion nativa vs tdolphin

PostPosted: Wed Jun 28, 2023 4:15 am
by JoseAlvarez
Hola willi

Has medido el tiempo de eso mismo con tdolphin?

Re: Velocidad conexion nativa vs tdolphin

PostPosted: Wed Jun 28, 2023 7:56 pm
by cnavarro
He hecho un test de conexion

Image

Pero, no siempre lo mas importante es valorar la velocidad de conexion inicial

Re: Velocidad conexion nativa vs tdolphin

PostPosted: Wed Jun 28, 2023 8:12 pm
by JoseAlvarez
Saludos Master Navarro.

Muchas gracias por tomarse el tiempo y hacer la prueba.

Creo entender en el grafico que muestra que la clase nativa de mysql tarda 1.650 sg. En realizar la consulta y con tDolphin 0.583

¿Es correcto?

Re: Velocidad conexion nativa vs tdolphin

PostPosted: Wed Jun 28, 2023 8:26 pm
by carlos vargas
Cristóbal, Puedes compartir el ejemplo por favor, el que hay no incluye sqlmix.

Re: Velocidad conexion nativa vs tdolphin

PostPosted: Wed Jun 28, 2023 8:29 pm
by cnavarro
JoseAlvarez wrote:Saludos Master Navarro.

Muchas gracias por tomarse el tiempo y hacer la prueba.

Creo entender en el grafico que muestra que la clase nativa de mysql tarda 1.650 sg. En realizar la consulta y con tDolphin 0.583

¿Es correcto?


Hay que valorar también en esos casos temas de caché, etc.
Si quieres probarlo te pongo el enlace el ejecutable que he utilizado
https://bitbucket.org/fivetech/fivewin- ... tconex.exe
con la sentencia SQL: "SELECT * FROM <table> WHERE id >= 250 AND id <= 2610" ( la tabla tiene una estructura similar a la CUSTOMER que usamos en todos los ejemplo )
Vete comentando tus impresiones

Re: Velocidad conexion nativa vs tdolphin

PostPosted: Wed Jun 28, 2023 8:50 pm
by JoseAlvarez
cnavarro wrote:
JoseAlvarez wrote:Saludos Master Navarro.

Muchas gracias por tomarse el tiempo y hacer la prueba.

Creo entender en el grafico que muestra que la clase nativa de mysql tarda 1.650 sg. En realizar la consulta y con tDolphin 0.583

¿Es correcto?


Hay que valorar también en esos casos temas de caché, etc.
Si quieres probarlo te pongo el enlace el ejecutable que he utilizado
https://bitbucket.org/fivetech/fivewin- ... tconex.exe
con la sentencia SQL: "SELECT * FROM <table> WHERE id >= 250 AND id <= 2610" ( la tabla tiene una estructura similar a la CUSTOMER que usamos en todos los ejemplo )
Vete comentando tus impresiones


Gracias Master, descargue el ejecutable y me lanza error, no me funciona.

Pero deduzco segun la grafica que estoy en lo cierto. La clase nativa es mas lenta por mucho que tDolphin. Quizas en redes locales no sea significativo, pero con servidores en la nube, es un punto álgido.

Seria Bueno escuchar la opinion de mr rao, quizas tenga la manera de solventar esto,

Realmente prefiero usar lo nativo, pero creo que por los momentos y hasta tanto Mr Rao nos de su punto de vista, abandono la idea de migrar y sigo con tdolphin.

Muchas Gracias Nuevamente.

Re: Velocidad conexion nativa vs tdolphin

PostPosted: Wed Jun 28, 2023 10:07 pm
by cnavarro
Dime el error, pero casi seguro que es porque no tiene la libmysql.dll

Totalmente de acuerdo
Conozco el trabajo que ha hecho Rao con la clase, y te aseguro que merece la pena la migración

Re: Velocidad conexion nativa vs tdolphin

PostPosted: Thu Jun 29, 2023 12:21 am
by JoseAlvarez
Si, comparto tu opinion, he leido la documentación de la clase FW para maria DB y en verdad la veo con cosas muy interesantes.
Lo de la velocidad de pronto se podria obviar, tomando en cuenta los demas beneficios, pero el internet de mi pais esta catalogado el 2do mas lento del mundo, y la velocidad es cosa de mucha importancia.

Aca te dejo la imagen del error. Con las flechas rojas te señalo el ejecutable y la libmysql.dll

Image

Re: Velocidad conexion nativa vs tdolphin

PostPosted: Thu Jun 29, 2023 2:13 am
by cnavarro
JoseAlvarez wrote:Si, comparto tu opinion, he leido la documentación de la clase FW para maria DB y en verdad la veo con cosas muy interesantes.
Lo de la velocidad de pronto se podria obviar, tomando en cuenta los demas beneficios, pero el internet de mi pais esta catalogado el 2do mas lento del mundo, y la velocidad es cosa de mucha importancia.

Aca te dejo la imagen del error. Con las flechas rojas te señalo el ejecutable y la libmysql.dll

Image


Intenta con esta y me dices
https://bitbucket.org/fivetech/fivewin- ... bmysql.dll

Re: Velocidad conexion nativa vs tdolphin

PostPosted: Thu Jun 29, 2023 12:50 pm
by JoseAlvarez
Cristobal,

al parecer, necesito algo de ADO.

El ejecutable se aborta luego de este error

Image

localmente uso MariaDB