![]() |
Velocidad Firedac
Hola,
Tenemos un programa que hasta ahora utilizamos BDE y estamos mirando de migrar a FireDAC Nos encontramos que las consultas a base de datos es mucho mas lentas. que creado un programa de test con componentes Firedac y Interbase y la velocidad es muy diferente. que creado dos conexiones, una con firedac y una con IBdatabase, un query para cada uno y un grid para cada consulta en Firedac tarda 2351 ms en IB tarda 182ms Hay algun parametro para mejorar la velocidad?
|
Muy raro porque la velocidad de ejecución debería ser justo al contrario.
La más lenta el BDE, luego IBExpress y lo más rápidos FireDAC. En todo caso, habría que hacer una prueba con Interbase (para probar temas de compatibilidad). Y revisar los temas de configuración. |
Habrá que ver como esta estructurado tu consulta y si las tablas tienen los indices necesarios. En bde trabaja con tablas planas y muchas veces se usa el objeto Table trayendo todos los registro, en modo local quizás no se note la diferencia pero en gestores de base de datos como Firebird y demás, no se procede de esa manera (traer todos los registros y luego buscar el que necesites), se debe buscar por un filtro(este filtro debe tener un indice de búsqueda) en la consulta SQL y traer el registro que necesitas.
|
|
Si vas a trabajar con firebird entonces IBX, es lo más rápido y totalmente enfocado a interbase/firebird.
Si vas a usar distintas entonces FireDac. |
Cita:
la intencion es trabajar con distintas bases de datos, pero el problema es la velocidada en Firedac |
No creo que sea un problema eso.
|
Cita:
No se cual estás utilizando tú. Por eso es extraño que exista mucha diferencia de velocidad. Tal vez deberías revisar la configuración de FireDAC. Importante los Tipos de cursores que estás utilizando (cliente/servidor). |
No te recomiendo cargar un TTable en la app, si tiene demasiados datos sobrecargara el sistema, yo cuando trabajo con cosas asi lo que hago es un TQuery y ejecuto la consulta SQL que trae solo los resultados del Engine de BD, ademas yo utilizo MyDAC MySQL componentes que van bastante rapido
|
Hola,
investigando he visto que són los campos BLOB los que hacen relentizar la consulta... Otra cosa muy curiosa es que si el programa lo ejecuto en el servidor donde esta la base de datos, el tiempo de respuesta entre Firedac y los componentes Interbase son iguales (con los campos BLOB incluidos en la consulta) , pero si ejecuto la consulta desde otro pc de la red es cuando se demora |
Cita:
Cita:
Por eso se debe especificar bien los datos de tu pregunta inicial. Si mencionabas inicialmente que tenias campos blob, tu duda ya se habría resuelto antes. |
| La franja horaria es GMT +2. Ahora son las 14:04:36. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi