Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-08-2011
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 17
pmtzg Va por buen camino
Question ¿quien es mas rapido, Ibtable, IBdatset ..etc

Hola Amigos una pregunta para aquellos que ya tienen mas tiempo
trabajando con componentes para Firebird

por ejemplo, Interbase
quien graba o inserta mas rapido en una base de datos :

Código Delphi [-]
-IBtable
-IBquery
-IBDataset
-IBsql

de estos quien reduce el tiempo

tanto para accesar pero sobre todo repito para grabar mas rapido sobre
una base de datos


Saludos
Responder Con Cita
  #2  
Antiguo 23-08-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

El TIBSQL sería el más rápido, pero tienes que usar sentencias INSERT o UPDATE directamente.

El TIBTable no se recomienda su uso.


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #3  
Antiguo 23-08-2011
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 17
pmtzg Va por buen camino
Ok. mi pregunta esta encaminada porque estoy transfiriendo registros de:


Paradox a Firebird y tengo una tabla que supera el millon de registros
y tarda un buen ejeplo de la instruccion que uso

Código Delphi [-]
IBTable1.Fields[i].value:= Query1.Fields[i].value;


entonces ya me hizo pensar !!!, por el tiempo y sobre todo, tengo un detalle
por que no me aparece la información completa de 1 tabla la que supera el millon de registros


saludos ,, espero que me puedan regalar más comentarios
Responder Con Cita
  #4  
Antiguo 23-08-2011
Avatar de mightydragonlor
[mightydragonlor] mightydragonlor is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Medellín-Colombia
Posts: 587
Poder: 18
mightydragonlor Va por buen camino
Complementando la respuesta del compañero maeyanes la mejor manera de hacer los inserts y/o updates es por bloques, por ejemplo, haces un bloque de mil inserts, luego le haces el respectivo commit, con esto el proceso será mas rápido, ya que no se detendrá a confirmar una transacción por cada registro.
__________________
mas confundido que Garavito el día del Niño.
Responder Con Cita
  #5  
Antiguo 24-08-2011
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 17
pmtzg Va por buen camino
OK...
y de los FibPlus e IBexpress

cual tiene mayor velocidad, ?

he probado Zeos y Mdo
son buenos pero un poco lentos


gracias
Responder Con Cita
  #6  
Antiguo 24-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola pmtzg.

Revisá este enlace: Tutorial comparativa (IBX + Zeos + Firebird + Velocidad )

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 24-08-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Para mi siempre a sido este.
Ahora, puede que IBX sea rapido, pero tanto ????
Saludos
__________________
Siempre Novato
Responder Con Cita
  #8  
Antiguo 24-08-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Para mi siempre a sido este.
Ahora, puede que IBX sea rapido, pero tanto ????
Saludos

siento discrepar contigo, mi estimado caral... pero para mi el más rápido sigue siendo este
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #9  
Antiguo 24-08-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por oscarac Ver Mensaje
siento discrepar contigo, mi estimado caral... pero para mi el más rápido sigue siendo este
No, no... este otro:

Responder Con Cita
  #10  
Antiguo 25-08-2011
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 22
Crandel Va por buen camino
Cita:
Empezado por pmtzg Ver Mensaje
Ok. mi pregunta esta encaminada porque estoy transfiriendo registros de:


Paradox a Firebird y tengo una tabla que supera el millon de registros
y tarda un buen ejeplo de la instruccion que uso

Código Delphi [-]
IBTable1.Fields[i].value:= Query1.Fields[i].value;
Como dice Caral, hay componentes mas rápido que otros, pero la diferencia tampoco es tanta, todos son buenos.

El problema no son los componentes, sino como los usas. Ya te aclaro maeyanes y mightydragonlor, NO USES IBTABLE !!!!

Es impensable que tengas cargado en memoria el millón de registros. El ibTable esta diseñado únicamente para tablas chicas.

En resumen, haz la transferenicia mediante INSERT
__________________
[Crandel]
Responder Con Cita
  #11  
Antiguo 26-08-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Para inserciones masivas no importa tanto el componente a utilizar, sino la forma en que lo hagas. Ya que el compañero mightydragonlor te ha mencionado las transacciones, empezaré por allí. Sigue el consejo dado por mightydragonlor, llama a commit por lo menos cada mil registros insertados. La segunda parte y más importante de tú código es que lo hagas por medio de parámetros, utilizando consultas preparadas. El mayor tiempo que se toma la DB es en interpretar y preparar una consulta. Los compañero pueden proporcionarte mucho código de cómo utilizar este tipo de consultas. Sino, busca en los foros que hay muchos ejemplos.

Otra cosa a tener en cuenta es no utilizar TIBTable, ni nada que lleve "Table". Estos componentes utilizan más lógica y código no necesario para tu caso. Lo más rápido que puedes utilizar es TIBSql. Sin embargo, si hablamos de velocidad de componentes, los FIBPlus son de los más rápidos que puedes encontrar. O para tu tarea te saldrían perfectos los componentes Unified Interbase. Son muy rápidos para estas tareas, te lo digo por experiencia propia. De hecho, estos componentes, en su ayuda, incluyen un ejemplo que te puede servir muchísimo. Es sobre inserción masiva utilizando consultas preparadas con parámetros.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #12  
Antiguo 27-08-2011
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 17
pmtzg Va por buen camino
Cita:
Empezado por
Otra cosa a tener en cuenta es no utilizar TIBTable, ni nada que lleve "[B
Table[/b]". Estos componentes utilizan más lógica y código no necesario para tu caso. Lo más rápido que puedes utilizar es TIBSql. Sin embargo, si hablamos de velocidad de componentes, los FIBPlus son de los más rápidos que puedes encontrar. O para tu tarea te saldrían perfectos los componentes Unified Interbase. Son muy rápidos para estas tareas, te lo digo por experiencia propia. De hecho, estos componentes, en su ayuda, incluyen un ejemplo que te puede servir muchísimo. Es sobre inserción masiva utilizando consultas preparadas con parámetros.

Saludos,
Chris
Los Componentes Unified Interbase ,, son de paga ??' o son libres
se pueden instalar en Delphi 2007 y superior ??


gracias a todos por sus comentarios , y por el correcaminos jejejejeje !!!
Responder Con Cita
  #13  
Antiguo 27-08-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

¿pmtzg, checaste la URL que te puso Chris? Por que ahí te hubieses dado cuenta que estos componentes son Libres y Open Source.


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #14  
Antiguo 28-08-2011
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Una pregunta... lo que quiere hace es una aplicación para migrar sus diversos clientes que estaban en paradox a una nueva versión de firebird? de ser esto te recomiendo usar mejor el IBPump es muy. Yo siempre lo uso para pasar desde cualquier base de datos que tenga driver ODBC a firebird y los resultados en velocidad son mu buenos
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
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
Ayudenme Rapido, Rapido omarys Varios 6 04-06-2011 09:45:34
Ordenar un IbTable sonjeux Conexión con bases de datos 2 27-05-2008 16:03:11
IBTable vs TTable Puche Firebird e Interbase 2 13-07-2006 05:02:54
Findkey e IBTable Puche Firebird e Interbase 1 10-07-2006 15:47:12
FindNearest con IbTable thebignico Firebird e Interbase 1 09-05-2005 23:45:26


La franja horaria es GMT +2. Ahora son las 08:09:32.


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