Conexión por Zeos a Firebird muy lenta
#1
Escrito 03 noviembre 2009 - 11:07
Aquí ando con una pregunta para todos ustedes...
Hace poco decidimos cambiar la conectividad de nuestros sistemas de BDE a Zeos esperando con ello un mejor rendimiento en cuanto a nuestros accesos a la BD de Firebird con la que contamos...
Les comento que estamos haciendo la migración con unos catálogos de aproximadamente unos 700 registros (nada espectacular) y hemos tenido problemas al momento de hacer una operación de OPEN en una de las TZTable que usamos como control de los datos...
También deben saber que la TZTable contiene operaciones de campos calculados y algunas otras lineas de instrucciones en el evento AfterOpen, pero como les comento, con BDE, ésto no era tan tardado...
Les agradezco cualquier pista, ayuda o comentario para poder resolver este detallito
Saludox !
#2
Escrito 03 noviembre 2009 - 11:18
#3
Escrito 03 noviembre 2009 - 11:25
Gracias por tu respuesta...
#4
Escrito 03 noviembre 2009 - 12:25
Qué podrá ser ???
Saludox !
#5
Escrito 03 noviembre 2009 - 12:28
Pues en general cualquier componente descendiente de TTable tiene ese problema de lentitud (ellos por defecto hacen un Fecth All), pues esos componentes no están pensados para aplicaciones Client/Server.
Por lo pronto te aconsejo terminar de realizar la migración de BDE a Zeos tal como esta para no perder el código ya hecho, pero para que la aplicación funcione "como manda" debes de pensar en utilizar componentes del tipo TDataSet o TQuery mostrando siempre los registros necesarios.
Ya en este camino entenderás mejor como se debe manejar los registros y las operaciones.
#6
Escrito 03 noviembre 2009 - 12:35
Y perdona la ignorancia... qué es un Fetch All ? :$
Saludox !
#7
Escrito 03 noviembre 2009 - 12:39
Y perdona la ignorancia... qué es un Fetch All ? :$
Fetch All, es la llamada que realizan para traer todos los datos existentes en la tabla, en SQL sería:
SELECT * FROM TABLA
#8
Escrito 03 noviembre 2009 - 12:46
Y perdona la ignorancia... qué es un Fetch All ? :$
Fetch All, es la llamada que realizan para traer todos los datos existentes en la tabla, en SQL sería:
sql
SELECT * FROM TABLA
Es decir, que si utilizamos componentes TZQuery y como sentencia SQL colocamos que traiga todos los campos de todos los registros de la tabla, ocasionará una lentitud similar a la actual ?
Con la pena :$, ando preguntona... quiero comprender
Saludox !
#9
Escrito 03 noviembre 2009 - 12:50
Y perdona la ignorancia... qué es un Fetch All ? :$
Fetch All, es la llamada que realizan para traer todos los datos existentes en la tabla, en SQL sería:
sql
SELECT * FROM TABLA
Es decir, que si utilizamos componentes TZQuery y como sentencia SQL colocamos que traiga todos los campos de todos los registros de la tabla, ocasionará una lentitud similar a la actual ?
Efectivamente. resultará igual de lento que un TTable.
#10
Escrito 03 noviembre 2009 - 12:53
Temo que si es una sentencia sin parametros sera igual que un ZTable, PERO:
Si a esa misma sentencia se le indica la cantidad de registros a traer la cosa cambia y seria mucho mas rapida.
Saludos
#11
Escrito 03 noviembre 2009 - 12:59
Algo asi:
SELECT MAX 20 FROM tu tabla
Saludos
#12
Escrito 03 noviembre 2009 - 01:03
No exactamente debes de tener la misma lentitud, puesto que los TQuery están diseñados para trabajar mejor en Client/Server. Puedes empezar a probar por crear un formulario y poner ambos componentes TTable y TQuery; conectados a un TDBGrid y botones para ejecutar el Open y podrás comprobar las diferencias.
No tengas penas y sigue posteando, ando buscando un articulo sobre migración y el uso de TQuery (TDataSet).
#13
Escrito 03 noviembre 2009 - 02:18
Que extensión asignaste a tu base firebird ? debería ser FDB.
Salud OS
#14
Escrito 03 noviembre 2009 - 02:54
Hola
Que extensión asignaste a tu base firebird ? debería ser FDB.
Salud OS
Nop, la extensión es GDB...
Saludox !
#15
Escrito 03 noviembre 2009 - 03:14
Salud OS
#16
Escrito 03 noviembre 2009 - 03:17
Saludox !
#17
Escrito 03 noviembre 2009 - 03:18
Salud OS
#18
Escrito 03 noviembre 2009 - 03:20
Saludox !
#19
Escrito 03 noviembre 2009 - 03:23
Salud OS
#20
Escrito 03 noviembre 2009 - 03:24
http://www.firebirdfaq.org/faq353/
Ahí se ve la confianza que me tienen
Salud OS