![]() |
rendimiento
Hola a todos
tengo una aplicacion hecha en delphi 5 y interbase 7.1. No va demasiado fina. Tengo unas 200 megas de datos. Ultimamente me estan planteando mis jefes de migrar porque el rendimiento es pequeño, sobre todo al insertar datos. Debo migrar a firebir 1.5 o no vale la pena? Gracias a todos los del foro. |
Hola,
aunque no he trabajado profesionalmente con Interbase sí que he hablado con mucha gente que lo hace y que están contentos. Una BD de 200 Mb creo que no es gran cosa para un SGBD como Interbase, y si dices que tienes problemas de rendimiento en las inserciones me inclino a pensar que la causa es otra, ya sea tu red, o el modo en que se hacen estas inserciones. Qué componentes de acceso utilizas? Qué método utilizas para realizar dichas inserciones? Si nos das más detalles quizás haya gente que pueda ayudarte. Saludos. |
Gracias por ayudarme
Utilizo los componentes nativos delphi 5 pasando por el OBDC de EasySoft y hago inserciones via TTable normalmente. Gracias |
En el modo que haces las inserciones hay varios problemas:
- Estas utilizando ODBC y no componentes nativos que van mucho mas rápido. - Las inserciones deberías hacerlas con sentencias SQL ya sea a travez de un componente TQuery o con procedimientos almacenados. - Las bases de datos Cliente/Servidor como Interbase/Firebird no fueron diseñadas para trabajar como las hace trabajar un TTable Si te sirve de referencia tengo 4 servidores con Firebird cada uno de ellos con 5 a 10 puestos de facturación permanente, las bases de datos rondan los 300 mb y nunca hubo problemas de rendimiento. Espero haber ayudado |
gracias por tu ayuda
que componentes me recomiendas. No me importa si son de pago. |
Buenas,
Yo utilizo los FibPlus (http://www.fibplus.net/) pero también tenés los IBO (http://www.ibobjects.com/) de los cuales he escuchado excelentes comentarios. Ambos comercieles. Otras opciones son los UIB (www.progdigy.com/UIB/) o los MDO (Este ultimo ha venido mejorando bastante en su ultima versión 0.8.8 puesto que da soporte para utilizar las dll de Firebird. Su web es: http://sourceforge.net/projects/mdo/) Actualmente estoy pensando en pasarme a DBExpress por un tema de flexiblidad, pero no he tenido tiempo de probar demasiado sobre el tema. De todas formas hay gente en el foro que podrá ayudarte si es que elegís estos ultimos. En cuanto a lo de el rendimiento de Interbase/Firebird se viene hablando bastante por el foro, diría que una búsqueda por el mismo podría aclararte muchas cosas y darte algunas ideas. |
Actualmente estoy usando los ibexpress, que vienen con Delphi, pero estoy probando los FibPlus y van realmente bien.
|
Yo utilizo las FIBPLUS, y son bastante buenas. Te recomiendo que las pruebes, el problema es que son de pago.
Saludos. |
Hola.
Para Interbase te recomiendo los mismos IBX que vienen con Delphi, y para Firebird te recomiendo IBO o FIBPlus (aunque también puedes utilizar IBX, en el futuro podrias encontrar problemas de compatibilidad). Además de los consejos citados por los compañeros, si tienes alguna consulta que va lenta, se soluciona añadiendo los índices adecuados en las tablas correspondientes. Saludos. |
mi problema no son las consultas sino las inserciones. La primera insercion me va muy lenta y las siguientes mejoran pero tardan. Es una caja de una tienda por lo que la vecidad es importante.
Por el momento tengo - no cambiar de interbase a Firebird ya que no notaria demasiado cambio - utilizar IBX mejor que FIBPLUS - utilizar TQuery en vez de TTable Gracias a todos por vuestra ayuda Alguna sugerencia mas |
¿Tienes triggers en la inserción?
Si fuera así, puede que tengas alguna consulta u operación en el trigger, que sea la que relentiza dicha inserción. Saludos. |
tengo un trigger de update.
Puede que sea esto. Voy a quitarlo a ver que pasa. |
Hola.
No va a pasar nada. Un trigger de update no se ejecuta en una inserción. Está claro que tu problema está en utilizar componentes TTable. Deberías realizar las inserciones con TQuerys, y seria mejor que utilizes componentes IBX, FibPlus o IBO en lugar de BDE. Saludos. |
gracias Marc por tu ayuda. Voy a probar con IBX
|
Acelarando la insercion
terecomiendo IBO yo losuso comercialmente
fiplus son bueno pero cuando la dta es muy grande comiensa a quedarse al contrario de ibo Y para solucionar la insercion puedes hacerlo con un script. Explico Supongamo sque quieres insert 100 registros no hagas el insert un a uno si de un avez Ejemplo de codigo Código:
//ejemplo usan do ibo con ibx tabien se puede pero... espero te sea de utilidad. |
La franja horaria es GMT +2. Ahora son las 08:02:27. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi