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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-01-2006
samantha jones samantha jones is offline
Miembro
 
Registrado: ago 2004
Posts: 46
Poder: 0
samantha jones Va por buen camino
Migración Archivos Planos a MySQL - Velocidad

Hola a todos

Tengo que migrar unas tablas hechas en TopSpeed (los archivos de Clarion *.tps), el hecho es que al hacerlo va muy lento, lo hago de la siguiente forma: Abro una consulta de una o varias tablas de Clarion, recorro dicha consulta, valido los datos obtenidos y si es necesario los corrijo o los formateo a la nueva estructura, inserto un registro en MySQL con los datos ya formateados, y asi sucesivamente.

La Consulta de Clarion me regresa cerca de 500,000 registros y conforme avanza el procedimiento se va volviendo mas lento, mi pregunta es: se deberá tal lentitud por el numero de registros de la consulta y que conforme va avanzando el procedimiento carga otra pagina de datos a memoria?, Existe otra forma mejor de hacerlo que no implique en limitar la consulta?.

Uso Delphi 2006 y ADO (me conecto tanto a Clarion como a MySQL por ODBC)

Saludos y Gracias
Responder Con Cita
  #2  
Antiguo 19-01-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Clarion no te permite exportar datos a algún formato de texto? Digo, porque MySql tiene la sentencia LOAD que inserta registros muy rápido.

Otra cosa, recuerda que el INSERT de MySql acepta múltiples registros en una sóla sentencia, lo cual es mucho más rápido que mútliples INSERT. Quizá si en lugar de lanzar un INSERT conforme recorres la consulta, lo vas poniendo en memoria (aunque esto puede ser mucho, no lo sé) y con todos los datos formas un sólo INSERT, sea más rápido.

// Saludos
Responder Con Cita
  #3  
Antiguo 19-01-2006
samantha jones samantha jones is offline
Miembro
 
Registrado: ago 2004
Posts: 46
Poder: 0
samantha jones Va por buen camino
Cita:
Empezado por roman
¿Clarion no te permite exportar datos a algún formato de texto? Digo, porque MySql tiene la sentencia LOAD que inserta registros muy rápido.
pero además debo de reajustar los datos a la nueva estructura es decir algunos valores cambian por decir si estatus = 'C' estatusMySQL = 'CAN', y cosas por el estilo. Y no tengo Clarion solo el ODBC.

Cita:
Empezado por roman
Otra cosa, recuerda que el INSERT de MySql acepta múltiples registros en una sóla sentencia, lo cual es mucho más rápido que mútliples INSERT. Quizá si en lugar de lanzar un INSERT conforme recorres la consulta, lo vas poniendo en memoria (aunque esto puede ser mucho, no lo sé) y con todos los datos formas un sólo INSERT, sea más rápido.
// Saludos
esto lo voy a probar. Saludos y Gracias.
Responder Con Cita
  #4  
Antiguo 19-01-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
También recuerda que con ODBC siempre será un poco más lento que usando controles nativos. Aunque con Clarion no te quede otra opción, con MySql tienes por lo menos ZEOS (gratuitas) y MyDac (no muy caras). En pocos registros quizá no haya mucha diferencia, pero pienso con quinientos mil, la situación cambia.

Ahora, aún cuando debes modificar los datos que provienen de Clarion, eso no quita que puedas generar un archivo de texto con los datos ya modificados y luego usar LOAD DATA INFILE en MySql. Esto último es aún más rápido que INSERT de múltiples registros.

Otra cosa, conviene quitar cualquier índice que tengas en las tablas destino al momento de exportar los datos, ya que el servidor requerirá menos trabajo al no tener que actualizarlos.

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Comparación archivos planos... n3mohack Varios 4 15-11-2005 23:03:55
licencias mysql y firebird elpinjum MySQL 8 13-08-2005 03:52:14
subir archivos planos a interbase cahosoft Firebird e Interbase 2 19-05-2005 10:37:37
de paradox a archivos planos cahosoft Tablas planas 2 16-04-2004 04:34:39
archivos planos .txt, .dat @-Soft OOP 4 02-03-2004 16:14:54


La franja horaria es GMT +2. Ahora son las 20:55:17.


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