Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Providers
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 03-06-2014
Avatar de rcarrillom
[rcarrillom] rcarrillom is offline
Miembro Premium
 
Registrado: dic 2004
Ubicación: UK / North Sea / Norway / Golfo de México / Frente a mi Laptop
Posts: 219
Poder: 20
rcarrillom Va por buen camino
Talking

Gracias Al, mi app es para edicion de datos numéricos que se despliegan en una gráfica, eliminar picos, suavizar puntos, interpolar datos... El ChangeCount es para saber si se ha modificado el conjunto de datos en cualquier momento y para llevar un registro de cambios para un Deshacer. Si hay otra manera de saber simplemente si el conjunto ha cambiando, es bienvenida.

Tengo implementadas las dos formas que mencionas:
1. Si el usuario inicia el proceso desde cero para agregarle archivos existentes, mi app primero crea un dataset vacio y le deja LogChanges = True.
2. Si el usuario inicia el proceso abriendo un archivo existente, entonces hago LogChanges = False y al terminar de cargar lo vuelvo a poner en True. De aqui en adelante se pueden insertar archivos o agregar manualmente registros individuales.

Fusioné 20 archivos que me dan 235K registros y los guardé en uno solo que abro con el método 2 y todo anda perfecto.

Para mí es mas sencillo si lanzo operaciones SQL en memoria sobre los datos del ClientDataSet para actualizaciones en masa a través de componentes de terceros (XQuery) y aprovechando las capacidades del ClientDataSet para deshacer operaciones, no lidiar yo mismo con registros y asignacion de memoria, pero si se me complica el asunto con un simple ChangeCount, tendré que replantear la manera de cómo trabajar los datos y usar estructuras y asignacion de bloques de memoria a la vieja escuela.

Otro problema grave es que al guardar los datos se hace de manera lentisima, al grado que esos 235K registros se guardan en dos minutos, y el programa viejo que los genera los guarda en menos de 5 segundos, este es tema para otro hilo, sera que no sé cómo optimizar estas escrituras.
__________________
eLcHiCoTeMiDo - Rompecorazones profesional
Yo no soy presumido; ¿Pero de qué sirve mi humilde opinión contra la de los espejos?
Salva a un nylon, usa prendas de piel de foca
Responder Con Cita
 



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
Lentitud con ClientDataSet.XMLData en Servicio Datasnap code88 Varios 4 08-02-2013 18:43:07
buscar registros de un ClientDataSet a otro clientDataSet novato_erick Conexión con bases de datos 2 02-02-2013 20:48:09
Lentitud leer .csv ErYcK C++ Builder 23 05-07-2012 22:56:44
Lentitud en la red. Carlos Arevalo Varios 2 09-07-2007 19:04:08
Modificar propiedad Delta de CDS alucardo Conexión con bases de datos 0 04-10-2006 19:36:41


La franja horaria es GMT +2. Ahora son las 19:34: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