¿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 :
de estos quien reduce el tiempo tanto para accesar pero sobre todo repito para grabar mas rapido sobre una base de datos Saludos |
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... |
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
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 |
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.
|
OK...
y de los FibPlus e IBexpress cual tiene mayor velocidad, ? he probado Zeos y Mdo son buenos pero un poco lentos gracias |
|
|
Cita:
siento discrepar contigo, mi estimado caral... pero para mi el más rápido sigue siendo este |
Cita:
|
Cita:
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 |
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 |
Cita:
se pueden instalar en Delphi 2007 y superior ?? gracias a todos por sus comentarios , y por el correcaminos jejejejeje !!! |
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... |
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
|
La franja horaria es GMT +2. Ahora son las 21:20:22. |
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