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 14-12-2020
DavidSG4 DavidSG4 is offline
Miembro
 
Registrado: oct 2007
Posts: 92
Poder: 17
DavidSG4 Va por buen camino
Firedac Rapidez carga de datos

Buenas.
sigo con mi migración a firedac que creo que es una buena opción para bastantes años...

Estoy utilizando TFDTable y aunque la carga de formularios es aceptable(utiliza algunos segundos en abrir todas las tablas del form) me gustaría poder acelerarlo mucho mas... he estado mirando fetch option para poder obtener por ejemplo los 100 últimos de las tfdtable pero no encuentro una explicación que me aclare.

he hecho varias pruebas pero la realizad es que en ningún momento gano velocidad.

En la aplicación que estoy trabajando se abren las tablas desde una clase común a todos los formularios creo que es aqui donde se demora algo la carga e datos.

Gracias
Responder Con Cita
  #2  
Antiguo 14-12-2020
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Hola, DavidSG4.

No estás ofreciendo suficiente información.

En mi experiencia, cambiar a Firedac no fue una simple migración de componentes, cuando se pasó de BDE a Firedac. Al principio se notó algo de lentitud. También es que pasamos de una aplicación cliente-servidor a un modelo algo mas complejo.

Pero en medio de todo eso, nos dimos cuenta de varios errores de diseño tanto en la aplicación como en la base de datos. Entre ellos: consultas innecesarias y repetitivas, cargas masivas de datos de una tabla, no definir los campos de la consulta, no definir índices en las tablas.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #3  
Antiguo 14-12-2020
DavidSG4 DavidSG4 is offline
Miembro
 
Registrado: oct 2007
Posts: 92
Poder: 17
DavidSG4 Va por buen camino
Buenas movorack, estoy totalmente de acuerdo en todo lo que comentas.

mi problema creo que va encaminado en que se hace una carga masiva de datos ya que si hay 5 tfdtable en un formulario, el programa carga todos los datos de las tablas desde el origen de los tiempos igual que hacia con el bde.

de ahí mi consulta, ya que lo que hace le programa es tabla.active=true en todas las tablas del formulario y por lo tanto no es tan rápido como a mi me gustaría. (muy ineficiente)

una de las vías que me he planteado son las fetch options de firedac que según tenía entendido te permiten sabiendo parametrizarlo es:

1 cargar por ejemplo los 10 últimos registros de las tablas.
2 si el usuario a través del dbnavigator llega al registro 1 de los 10 precargados firedac se encarga de cargar los 10 anteriores.

yo había pensado en esta estrategia pero veo que no consigo los resultados esperados, estoy abierto a cualquier sugerencia que vosotros hayáis utilizado.

gracias
Responder Con Cita
  #4  
Antiguo 14-12-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por DavidSG4 Ver Mensaje
el programa carga todos los datos de las tablas desde el origen de los tiempos igual que hacia con el bde.
Eso no se debe hacer nunca, con ningún tipo de componente y ni base de datos.
Responder Con Cita
  #5  
Antiguo 15-12-2020
aledieb aledieb is offline
Miembro
 
Registrado: jun 2005
Ubicación: Buenos Aires, Argentina
Posts: 141
Poder: 19
aledieb Va por buen camino
Si hay código en el afterscroll también influye (y mucho) en los tiempos de carga.
Aunque seria mejor usar Query en ves de Table.
__________________
Suerte
Alejandro
Responder Con Cita
  #6  
Antiguo 16-12-2020
DavidSG4 DavidSG4 is offline
Miembro
 
Registrado: oct 2007
Posts: 92
Poder: 17
DavidSG4 Va por buen camino
quizás si empezara una aplicación de nuevo emplearía querys, pero es una aplicación que necesito modernizar, creo que TFDTable tiene que dar la suficiente potencia como para manejar de una manera eficiente los datos que se necesitan.

gracias.

sigo investigando con las fecht options a ver que consigo.
Responder Con Cita
  #7  
Antiguo 16-12-2020
DavidSG4 DavidSG4 is offline
Miembro
 
Registrado: oct 2007
Posts: 92
Poder: 17
DavidSG4 Va por buen camino
Buenas.
si se configuran las fetchoptions de la siguiente manera, el rendimiento es optimo.

fecthoptions.recsmax a 200. con esto el rendimiento es optimo.

Gracias
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
Problema de carga de datos con DBISAM carlosw1978 SQL 4 16-06-2017 14:16:08
Carga de datos en los edits Valee Varios 2 01-09-2014 04:52:37
INFO: DLL's, BPL's, carga dinámica, carga estática y Packages en Runtime Neftali [Germán.Estévez] OOP 26 13-12-2013 19:29:55
Progreso mientras carga datos... jarlos Conexión con bases de datos 7 18-10-2007 16:39:45
Carga rápida de datos en Access Toñico Tablas planas 12 09-05-2005 22:04:13


La franja horaria es GMT +2. Ahora son las 14:50:17.


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