Ver Mensaje Individual
  #5  
Antiguo 07-07-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Reputación: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

¡Hola a todos!

Cita:
Empezado por egostar
...me importa el tiempo ya que cada registro que agrego a la base de datos consume 2 o 3 segundos, pero si estamos hablando de 20,000 registros, aumentar el tiempo me parece dramático.

Tendré que ver como le bajo al tiempo al agregar registros a la base...
Que tal Eliseo. Hace dos años desarrollé para un cliente de tu zona urbana (mundo pequeño al fin) un componente llamado TMultiADO que le resolvió el problema de tener que insertar miles de registros a través de una aplicación Delphi con la mayor velocidad posible. La esencia de este componente es crear dinámicamente varios hilos y conexiones secundarias para enviar al servidor SQL sentencias Insert de manera simultánea. La clave es que el ciclo de inserciones no se espera a que el servidor responda a una sentencia "Insert Into" para enviarle la siguiente. Los hilos secundarios y sus respectivas conexiones paralelas se crean conforme la demanda y hasta cierto límite de hilos / conexiones, cada hilo que va quedando desocupado se emplea para enviar la siguiente sentencia de la cola. En diferentes pruebas obtuvimos ahorros de tiempo de entre 50 y 75%.

Aquello era para ADO, pero bien podría adaptarse a otro tipo de conexiones como las que tradicionalmente se usan con Firebird (IBX, dbExpress, etc.). Ya expiró el tiempo de "goce exclusivo", así que el código queda disponible para quien lo pueda necesitar (la empresa donde trabajo dispuso distribuir este componente bajo la línea GH, es decir, gratuito).

El único problema es que está un poco empolvado y usa la versión vieja de GH Freebrary (antes Interfaz GH). Por ahora se considera un producto "en revisión", pero igual y les sirve a los interesados, cuando menos de referencia. Estoy en el correo de siempre.

Un abrazo múltiple.

Al González.
Responder Con Cita