Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-08-2011
juanlito juanlito is offline
Miembro
NULL
 
Registrado: ago 2011
Ubicación: Jerez de la Frontera
Posts: 14
Poder: 0
juanlito Va por buen camino
Optimizacion De Rendimiento

Buenas a todos,

Soy nuevo en el foro y tengo un problema(como casi todos los nuevos)
Tengo una aplicacion que accede a una BD de access, he realizado las consultas y el codigo y me funciona sin errores, el problema es que en la tablas hay muchos registros, en una de ellas unos 114000 y en otra unos 270000, debido a esto la ejecuccion de mi codigo se eterniza hasta limites increibles, media hora para un codigo como el siguiente

Código:
 
Datamodule1.Query2.Active:=true;
  datamodule1.Query2.First;
  while not(datamodule1.Query2.Eof) do
  begin
   try
     datamodule1.Tbtic.Insert;
     datamodule1.Tbtic.FieldByName('telno').AsString:=datamodule1.Query2.fieldbyname('telno').AsString;
     datamodule1.Tbtic.FieldByName('duratime').AsString:=datamodule1.Query2.fieldbyname('duratime').AsString;
     datamodule1.Tbtic.FieldByName('address').AsString:=datamodule1.Query2.fieldbyname('address').AsString;
     datamodule1.Tbtic.FieldByName('rptime').AsDateTime:=datamodule1.Query2.fieldbyname('rptime').AsDateTime;
     datamodule1.Tbtic.FieldByName('sumcoin').AsFloat:=datamodule1.Query2.fieldbyname('sumcoin').AsFloat;
     datamodule1.Tbtic.FieldByName('dialno').AsString:=datamodule1.Query2.fieldbyname('dialno').AsString;
     cad:= copy(datamodule1.Query2.fieldbyname('starttime').AsString,7,2)+'/'+copy(datamodule1.Query2.fieldbyname('starttime').AsString,5,2)+'/';
     cad:=cad+ copy(datamodule1.Query2.fieldbyname('starttime').AsString,0,4)+' '+copy(datamodule1.Query2.fieldbyname('starttime').AsString,9,2)+':';
     cad:=cad+ copy(datamodule1.Query2.fieldbyname('starttime').AsString,11,2)+':'+copy(datamodule1.Query2.fieldbyname('starttime').AsString,13,2);
     fecha:=strtodatetime(cad);
     datamodule1.Tbtic.FieldByName('starttime').AsDateTime:=fecha;
     numero_largo:=datamodule1.Query2.fieldbyname('dialno').AsString;
     posicion:=(pos('F',numero_largo));
     if posicion<> 0 then
     begin
       numero:= copy(numero_largo,0,posicion-1);
     end
     else
     begin
       numero:=numero_largo;
     end;
     datamodule1.Tbtic.FieldByName('dialno').AsString:=numero;
     datamodule1.Tbtic.Post;
   except
     showmessage('No se ha podido guardar con exito');
   end;
     datamodule1.Query2.Next;
  end;
el codigo sql del query2 es una simple consulta como la siguiente

Código SQL [-]
SELECT PHONE.TELNO AS TELNO, PHONE.ADDRESS AS ADDRESS, TAG26.RPTIME AS RPTIME, TAG26.STARTTIME AS STARTTIME, TAG26.DURATTIME AS DURATIME, TAG26.SUMCOIN AS SUMCOIN, TAG26.DIALNO AS DIALNO
FROM PHONE, TAG26
WHERE PHONE.IDNO=TAG26.IDNO;

no se que hacer, si alguien me dice que migre todo de access a otro creo que lo hare, uso access porque es la BD que me encontre y en la que despues he ido agregando mas tablas y registros, pero ahora tengo este problema.

Me gustaria alguna respuesta en la que no tuviese que migrar los datos, pero Agradeceria cualquier ayuda.

Muchas Gracias

Última edición por juanlito fecha: 17-08-2011 a las 11:02:05.
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
Optimización! Optimización! PiornoCKA&G Varios 1 31-12-2006 20:45:30
Optimización Rendimiento dB amesoft SQL 1 05-08-2006 06:26:37
optimizacion del SQL seb@ SQL 1 22-09-2004 19:55:24
Optimizacion manuelpr Conexión con bases de datos 3 30-07-2004 17:26:24
Rendimiento y optimizacion de una aplicacion erickperez6 Varios 2 10-09-2003 01:12:32


La franja horaria es GMT +2. Ahora son las 02:20:41.


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