![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Pregunto por curiosidad, ¿De que manera generas las sentencias "inserts" que traes de la base de datos "origen"?, o mejor... ¿Cual es el mecanismo que usas para ello?
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#2
|
|||
|
|||
Tengo un xml donde tengo las tablas a sincronizar, los campos de cada tabla, con su nombre en firebird y su nombre en mysql y el tipo de dato (varchar, integer, timestamp).
Recorro mi lista de tablas. Por cada tabla hago una select de los campos que tiene en el xml y genero la insert con los campos que me trae el xml.
__________________
ash nazg durbatulûk ash nazg gimbatul ash nazg thrakatulûk agh burzum-ishi krimpatul |
#3
|
||||
|
||||
Otra solución es que tal vez, te enfoques en optimizar el momento en que creas las sentencias Inserts. Seguramente optimizando la manera como creas estas sentencias (Inserts), podrias mejorar un poco o mucho el tiempo de respuesta total.
Por ejemplo, si haces una especie de concatenación con la función CONCAT de MYSQL para que traiga los Inserts ya "parseados" desde el principio y no tengas que recorrer el XML para generar los Inserts. Tal vez esto te ahorre algo o mucho de tiempo.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#4
|
|||
|
|||
Pues si, la verdad es que tienes razón. Podría quitar algo de tiempo al generar las inserts, pero de todas formas, el cuello de botella lo sigo teniendo al insertar en Firebird.
Lo tendré en cuenta. Muchas gracias.
__________________
ash nazg durbatulûk ash nazg gimbatul ash nazg thrakatulûk agh burzum-ishi krimpatul |
#5
|
||||
|
||||
Cita:
Lo otro que te sugiero es que filtres y traigas únicamente los registros que han tenido modificaciones o los que son nuevos (Desde la ultima actualización), mas no todos, pues como bien dices se te va creando un "Cuello de botella" bastante estrecho.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#6
|
||||
|
||||
Estuve leyendo casualmente ayer documentación relacionada a los componentes UIB (Unified Interbase). Parece que para tu tarea son los mas adecuados. Además ellos recomiendan hacer un commit cada 1,000 registros, además utilizar queries con parámetros.
Puedes tomar en cuenta esos detalles, a lo mejor logras una mejoría apreciable. Saludos. |
#7
|
||||
|
||||
Podrias utilizar algun metodo de replicacion, que se yo en lugar de insertar los 150k registros de un solo podrias hacerlo cada 1000. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ayuda con inserciones masivas | voldemmor | Conexión con bases de datos | 4 | 13-03-2008 21:23:05 |
Problemas Acelerar PHP | HomeCinema | PHP | 1 | 09-02-2007 11:42:04 |
Acelerar carga de Delphi | mamcx | Noticias | 4 | 13-09-2006 00:51:52 |
Problemas con inserciones masivas | gusanita | Conexión con bases de datos | 2 | 16-12-2005 06:40:37 |
Como acelerar el trabajo DBF | manuelpr | Conexión con bases de datos | 3 | 29-03-2005 19:52:11 |
![]() |
|