![]() |
Cuál es la mejor forma de conectar la base de datos a mi programa?
Hola a todos!
Quisiera su opinión sobre lo siguiente: cuál es la mejor forma de conectar (y trabajar) la base de datos a mi programa?? :confused: Les comento por donde viene la cuestión... Tengo un programa desarrollado en Delphi que trabaja con una base de datos Firebird. Para conectarme a la base de datos utilizo los componentes FIBPlus (base de datos, transacciones y datasets). En algún momento he utilizado los IBComponents que vienen en las paletas de controles estandard de Delphi. En este momento la dirección de la base de datos en un archivo ini y la conexión y activación de datasets la hago al iniciar el programa. Nunca trabaje con ODBC. Me comentaron por ahí que tal vez era más rápido (o más eficiente) trabajar con esta forma de conexión. Quisiera saber la opición de ustedes, si han trabajado con las dos modalidades y si hay diferencias sustanciales de rendimiento. Desde ya les agradezco! :rolleyes: |
Hola...
Es mejor trabajar con componentes de acceso nativo, como los IBX y FIBPlus que con ODBC, ya que con ODBC obtienes una capa extra lo que le resta velocidad... Saludos... |
Tal y como comenta maeyanes, lo más rápido es lo más directo, y ahora mismo, lo mejor, lo más rápido, avanzado, seguro, potente, útil, cómodo (y no muy caro) es FIBplus.
|
DataSets o Querys??
Gracias por la info... Va otra consulta
Tengo varios procesos de inserción de datos dentro de ciclos (por ejemplo guardar detalles de facturas, etc.). He probado hacer la inserción utilizando un DataSet y tmbien lo he hecho con un Query... un ejemplo Utilizando DataSet...
Utilizando Query...
No he encontrado como medir el rendimiento de este código... Quisiera saber si alguien sabe o tiene algúna idea de cúal de las dos opciones es la más eficiente. Desde ya les agradezco por la ayuda. Saludos! |
Intenta hacer una prueba insertando una cantidad grande de registros.
De todas formas se supone que el query es más eficiente en estos casos. Ya nos contarás. |
Buena idea!
Voy a armar una demo que me cargue unos 100.000 registros con las 2 modalidades y le tomo el tiempo. Cuando termine les cuento los resultados... |
Como te han dicho prueba con una gran cantidad de registros. No obstante y dada mi experiencia (hace tiempo lo probé insertando una gran cantidad de registros en una tabla con unos 30 campos) me resulto más eficiente el empleo de TQUERY con el correspondiente SQL.
Un saludo y comenta tus resultados |
Ten en cuenta el tema de transacciones
Código:
Query.Close; |
Hola Amigos:
Hice la prueba con una tabla con 40 campos (20 varchar y 20 float). Probe varias veces hacer la inserción con Query y con Dataset (probe 10000 registros). Definitivamente, fue más rápida la inserción con los Querys (según mis pruebas un 15% más rápido mas o menos). Respecto de las transacciones, en el evento AfterExecute coloco siempre este código:
Gracias por la colaboración! |
La franja horaria es GMT +2. Ahora son las 00:29:45. |
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