Ir al contenido


Foto

Conexión por Zeos a Firebird muy lenta


  • Por favor identifícate para responder
27 respuestas en este tema

#1 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 03 noviembre 2009 - 11:07

Hola chicos y chicas de DA...

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 :p

Saludox ! :D

  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 03 noviembre 2009 - 11:18

¿Probaste utilizando un TZQuery? :$
  • 0

#3 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 03 noviembre 2009 - 11:25

Pues ene, esa una consideración que estamos haciendo :p, pero quería primero preguntar si el problema residía directamente en el componente TZTable o en la conexión de Zeos con Firebird :s

Gracias por tu respuesta... :D
  • 0

#4 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 03 noviembre 2009 - 12:25

Tendrá que ver la conexión a Firebird por Zeos ? tendrá que ver mi versión de Zeos o de Firebird ? Tendrá que ver el clima ? :p

Qué podrá ser ??? ^o|

Saludox ! :D
  • 0

#5 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 03 noviembre 2009 - 12:28

Saludos compañeros, contestando mi primer mensaje después de estar ausente.

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.
  • 0

#6 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 03 noviembre 2009 - 12:35

Gracias por tu respuesta Rolphy !!! Es un gusto tenerte de regreso :)

Y perdona la ignorancia... qué es un Fetch All ? :$

Saludox ! :D
  • 0

#7 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

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:


sql
  1. SELECT * FROM TABLA




  • 0

#8 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

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
  1. 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 :p

Saludox ! :D
  • 0

#9 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

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
  1. 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.
  • 0

#10 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 03 noviembre 2009 - 12:53

Hola
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
  • 0

#11 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 03 noviembre 2009 - 12:59

Hola
Algo asi:


sql
  1. SELECT MAX 20 FROM tu tabla


Saludos
  • 0

#12 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 03 noviembre 2009 - 01:03

Saludos.

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).
  • 0

#13 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 03 noviembre 2009 - 02:18

Hola

Que extensión asignaste a tu base firebird ? debería ser FDB.

Salud OS
  • 0

#14 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

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 ! :D
  • 0

#15 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 03 noviembre 2009 - 03:14

Cambiala amiguita, y nos cuentas :D

Salud OS
  • 0

#16 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 03 noviembre 2009 - 03:17

:|, así de plano ???, a la mala ???

Saludox ! :D
  • 0

#17 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 03 noviembre 2009 - 03:18

Asi nomas, cambiasela :D

Salud OS
  • 0

#18 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 03 noviembre 2009 - 03:20

:o qué violento !!! Alguna explicación ténica ? :p

Saludox ! :D
  • 0

#19 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 03 noviembre 2009 - 03:23

jajajajaja, que miedosa, usa una copia para que no tengas miedo, :p

Salud OS

  • 0

#20 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 03 noviembre 2009 - 03:24

y si quieres explicación técnica, puedes ver esto :p

http://www.firebirdfaq.org/faq353/

Ahí se ve la confianza que me tienen :(

Salud OS
  • 0




IP.Board spam blocked by CleanTalk.