Ver Mensaje Individual
  #10  
Antiguo 08-11-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Reputación: 28
jachguate Va por buen camino
Sobre tu problema... 100,000 registros debieran procesarse en cuestión de minutos. Para detectar cual es el cuello de botella, cronómetro en mano, revisá cuanto tiempo está tomando cada parte del proceso: Suponiendo que el comportamiento es líneal, está tomando mas o menos 0.5 segundos por registro.

digamos que el código:

Código Delphi [-]
while not finarchivo do
begin
  LeeLinea;
  InsertaRegistro;
end;

podemos cambiarlo por:

Código Delphi [-]
var
  t1, t2, t3 : TDateTime;
while not finarchivo do
begin
  t1 := now;
  LeeLinea;
  t2 := now;
  InsertaRegistro;
  t3 := now;
  memo1.lines.add(
    'tiempo lectura: %d ms.'#9 
    'tiempo insercion: %d', [
      trunc((t2 - t1) * 1000),
      trunc((t3 - t2) * 1000)]);
end;

Eso nos dará una idea de que está tardando. Estoy convencido que en tu caso, es la búsqueda del registro la que demora mucho tiempo... quizas el query (qparte) sea ineficiente.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita