Hola estoy tratando de importar datos de una tabla, ya lo intente con un archivo de texto separado por comas, lentisimooooooooooooooo…, luego lei que se podia acceder a sqlite por odbc, y si efectivamente lo logre, va mucho mas “rapido” 2000 registros en 30 minutos :-/ son 84mil y pelos … es inaceptable… la cantidad de tiempo… y ni modo que me digan que la tabla es muy grande… en FoxPro, o en Adative Anyware que trae PowerBuilder, tengo mas registros y no batallo para importar de texto o de dbf’s. en Powerbuilder eh importado 40mil registros en 10 min utilizando datastore (los que lo conocen, es un datawindow no visual donde puedes importar y luego hacer un update a la b.d. )
Alguien le pasa lo mismo ?? aclaro que solo tengo el indice por ID para que no se esten actualizando mas indices y evitar que se haga lenta la importacion, pero ni asi…
Si las paso a foxpro ? mysql ? sera mas rapido dadas las limitaciones de sqlite ?
Yo hice la importación de los datos en mi sistema desde archivos de texto y tardé un fin de semana completo. Si tienes actualizaciones y muchos índices el tema es peor aún. Como era una importación que iba a hacer una sola vez no me importó mucho. Me di la paliza el fin de semana y punto.
Lo que si te digo es que influye mucho la velocidad del microprocesador que tengas en la máquina del vServer. En mi caso, hice pruebas de importación en 2 máquinas: una con un I7 3.60 GHz y otra con 2 Xeon 2.5 Ghz, ambos con 16 GB de RAM
En la máquina con el I7 tardaba menos de la mitad.
Si has trabajado en entornos cliente/servidor ya sabrás que la importación masiva de datos es un tema delicado.
En los SGBDR existen herramientas que facilitan el trabajo (Bulk Insert).
En Velneo no disponemos de estas herramientas y por eso tenemos que ser muy precisos a la hora de ejecutar transacciones masivas. Lo ideal seria que la importación masiva se realizara sin activar transacción, dejando la tabla previamente en un estado especial preparada para recibir los nuevos registros, pero esto no es posible en Velneo.
En cualquier caso 2000 registros en 30 minutos es una barbaridad y está claro que lo estás haciendo mal.
Como dicen los compañeros:
Se supone que los datos a importar están validados y no van a romper la integridad de la base de datos.
Ejecución siempre en 3º plano.
Separa la importación en Transacciones más cortas, aunque no es obligatorio, y de esta forma puedes saber desde vClient como va la importación.
Por supuesto nada de Actualizaciones, triggers, etc … que no sean imprescindibles.
¿ Estás ejecutando ese proceso en 3º plano ?
En tal caso debería de tardar 30 segundos como mucho.
Cuando estés realizando la importación, abre el vAdmin y mira cómo van creciendo las operaciones de la Transacción. Pon el refresco en “Muy rápido”. Si las operaciones van creciendo muy despacio o tarda mucho en cerrarse la Transacción una vez terminadas las operaciones es que tienes un problema en el vServer.
Por mi experiencia, en la migración que hemos tenido
1.- En los datos los ponemos con “Modificar Solamente”
2.- Lanzamos los procesos en el servidor, con lo cual los fichero origen , deben estar en el servidor
3.- Evitamos que tenga actualizaciones, estas las condicionamos a que el usuario de importación bloque alas actualizaciones
Con esto hemos conseguido unas mejoras considerables
Yo en su dia monté una importacion de pedidos, teniendo como origen un fichero de lineas de pedidos y en un volumen de 1000 lineas de pedidos no llegaba a 1 minuto el proceso.
El proceso consistia en:
-leer cada linea de pedido del fichero
-comprueba si el pedido existe
—si no existe, da de alta el maestro pedido y despues la linea de pedido
—si existe, da de alta unicamente la linea de pedido
-cada linea de pedido dada de alta, actualizaba un campo al maestro suyo
Se trataba la mayoria de los casos de 1 linea por pedido, por lo que casi se daban de alta tambien 1000 maestros.
Tal y como indica juan.pescapuerta esto se realizaba en servidor
Vamos a ver. Todavía no me he enterado si la importación la has hecho en 1º plano o en 3º plano, en el equipo local o en Cloud.
¿ Qué es eso de … ? –>>
a fin de cuentas lo baje a local.. y listo…!
Por favor, cuenta en detalle la arquitectura de tu montaje y cómo lo has solucionado para que los demás lectores, si les ocurre lo mismo, saquen conclusiones válidas.
Hola lo hice en local ya que solo esa tabla iba a importar, luego volvi a subir la solucion a Cloud y me soprende lo rapido que es al buscar por trozos de palabras.
Pero intentare la solucion que proponen de subir el archivo txt a la nube e importarlo desde el mismo server a ver como me va
[quote quote=42810]Hola leonardo daniel velazquez fuentes.
Vamos a ver. Todavía no me he enterado si la importación la has hecho en 1º plano o en 3º plano, en el equipo local o en Cloud.
¿ Qué es eso de … ? –>>
a fin de cuentas lo baje a local.. y listo…!
Por favor, cuenta en detalle la arquitectura de tu montaje y cómo lo has solucionado para que los demás lectores, si les ocurre lo mismo, saquen conclusiones válidas.