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 19-08-2006
Renees Renees is offline
Miembro
 
Registrado: feb 2005
Posts: 53
Poder: 20
Renees Va por buen camino
Cantidad de registros

Gracias por brindarme su tiempo y responder a mi problema, bueno la verdad es que las tablas son chicas, sobre las que estoy probando tiene 11.000 registro y me tarda 7 min. Creo que puede estar demorando es en el Bucle del FOR

for i:=0 to Tabla2.fieldcount-1 do
begin
Tabla1.fields[i].value := tabla2.fields[i].asVariant;
end;


Ya que la tabla tiene 66 campos.
Responder Con Cita
  #2  
Antiguo 20-08-2006
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 22
Mick Va por buen camino
No debes hacer un commit por cada registro, un commit o commitretaining es costoso, haz un commit cada 1000 o 5000 registros, este acelerara mucho la insercion de datos.

El uso de Variants tambien es bastante lento.

Saludos
Responder Con Cita
  #3  
Antiguo 22-08-2006
juanfergl juanfergl is offline
Miembro
 
Registrado: ago 2006
Posts: 23
Poder: 0
juanfergl Va por buen camino
Campos de las tablas

Estoy de acuerdo.......

Tambien si sabes la estructura de la tabla no deberias hacer ese ciclo for para los campos...........si no quemar en el codigo el nombre del campo.
Esto evita que procesador pierda seg valiosos por cada campo.
El otro punto no se ........y en la maquina que corres el proceso será de pronto la ideal?'.
Responder Con Cita
  #4  
Antiguo 22-08-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Tu proceso está insertando solamente 26 registros por segundo. He hecho pruebas de stress sobre firebird 1.5.3, y en una máquina con procesador de 3.2 Ghz. con 2 Gb. de RAM he logrado insertar 12000 registros/seg. en una tabla de pocos campos, con un proceso hecho en delphi con IBX, en un solo hilo de ejecución y la verdad el uso del procesador no llegaba ni al 30%.

Así que si no es que informix retorna los registros así de lento, creo que los tiros van por donde aconsejaba roman:
Desactiva todos los índices (incluso las llaves primarias podes crearlas después, y será mucho mas rápido).

Yo también desactivaría todos los triggers que no sean vitales para la migración.

Saludos.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 23-08-2006
ramiretor ramiretor is offline
Miembro
 
Registrado: may 2003
Ubicación: México
Posts: 196
Poder: 22
ramiretor Va por buen camino
Hola:
Pues eso de las migraciones como que es bastante latoso la verdad, aparte de lo que te dicen de desactivar todo en la base de datos destino, necesitas revisar si lo que se tarda es en leer la información a migrar (en abrir la tabla origen). Tienen razón la verdad es que he bajado cien, doscientos mil registros de tablas Oracle a IB (¿cual es la versión que viene en Delphi7?) en razón de pocos minutos.

Saludos
__________________
Ernesto R.
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
Normalización Adecuada plasma Firebird e Interbase 12 18-10-2006 04:57:01
Migrar datos a access luis juarez Conexión con bases de datos 0 05-05-2006 16:34:14
No encuentra el path despues de migrar datos Walterdf Conexión con bases de datos 2 07-03-2005 19:17:17
Migrar datos desde DBase a Interbase??? Durbed Firebird e Interbase 2 25-08-2004 10:54:44
extension adecuada Irina Firebird e Interbase 2 10-06-2003 13:44:42


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