Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   ¿Firebird soporta consultas que devuelven más de un cursor ("record set")? (https://www.clubdelphi.com/foros/showthread.php?t=81376)

RONPABLO 14-11-2012 17:10:13

Cita:

Empezado por poliburro (Mensaje 449453)
Por que se toman tan a personal una crítica a firebird? por qué les cuesta tanto aceptar las críticas contra ese motor? deberían ser tan faciles de aceptar como las que hacen contra otras tecnologias....

Tal vez por la misma razón que tu te empeñas en decir que SQL Server puede hacer de otra forma lo que firibird hace, osea le quitas importancia a las ventajas de firebird sobre SQL Server porque lo puedes hacer de otra forma, lo mismo me pasa a mi, le quito importancia a que no pueda tener varios ResulSets en firebird porque lo puedo hacer de otra forma y generalmente realizando la misma cantidad de trabajo, a veces un poco más a veces un poco menos.

poliburro 14-11-2012 17:28:05

Cita:

Empezado por RONPABLO (Mensaje 449460)
Tal vez por la misma razón que tu te empeñas en decir que SQL Server puede hacer de otra forma lo

Pero no solo he mencionado a SQL server, también he mencionado a mysql, postgresql, oracle y db2 que son los motores de bases de datos que utilizo.....

Insisto... como lo mencioné en un hilo que cita casimiro.

Cita:


Adolecer de estas características no la hacen un mal motor, al contrario sigue siendo una excelente opción para nuestros desarrollos, tanto como lo es access o paradox o dbase. Pero aceptando que tiene limitantes no deberia compararse con los grandes. (Oracle, Postgress, MsSql,Db2, Informix)



Firebird no es malo. al contrario es una excelente opción como lo pueden ser otros motores como access o paradox o dbase o mysql, pero eso de equipararlo a cualquiera de los grandes me parece una necedad.

Claro ese es mi punto de vista... no es la verdad absoluta. Como ha querido desde un inicio hacerlo ver aquí Casimiro tergiversando mis comentarios... o en el colmo de la censura Al gonzalez acusandome de tener una "actitud inquina" contra Firebird. como si para una crítica fuera necesario sentir simpatia por el objeto de las críticas...


roman 14-11-2012 17:37:03

Cita:

Empezado por RONPABLO (Mensaje 449459)
P
Imagina que en un llamado a un procedimiento se trae 3 DataSets, uno es encuestas, el segundo es preguntas de la encuesta y el tercer DataSet trae las respuestas dadas a cada pregunta, se trae únicamente los datos que se van a usar para no sobrecargar la conexión a red, estos DataSet en .Net se pueden tomar como tablas en memoria y hacer una especie de maestro detalle donde al seleccionar en un grid una de las encuestas me muestre en otro las preguntas ofrecidas y el total de respuestas por preguntas en otro grid,

Mmm. Creo que ahora lo veo más claro. Usar joins ocasionaría el viaje de datos repetidos del servidor al cliente.

Gracias :)

// Saludos

roman 14-11-2012 17:39:52

Cita:

Empezado por poliburro (Mensaje 449464)
o en el colmo de la censura

Nada más para aclarar a quienes en un futuro pudieran leer este desafortunado comentario. No ha habido ni mucha ni poca censura en este hilo, como no la hay en el Club en general.

// Saludos

poliburro 14-11-2012 17:43:07

Cita:

Empezado por roman (Mensaje 449466)
Nada más para aclarar a quienes en un futuro pudieran leer este desafortunado comentario. No ha habido ni mucha ni poca censura en este hilo, como no la hay en el Club en general.

// Saludos

No fué hacia Club Delphi como tal... sino a Al en particular... Aquí, el sitio como tal nunca me ha censurado. Aclaro mi desafortunado comentario....

Casimiro Notevi 14-11-2012 17:49:05

Cita:

Empezado por poliburro (Mensaje 449464)
Como ha querido desde un inicio hacerlo ver aquí Casimiro tergiversando mis comentarios...

¿Qué comentarios he tergiversado? :confused:

roman 14-11-2012 17:49:07

Bueno, en lo personal, tampoco pienso que Al haya manifestado ningún tipo de censura.

De todas formas, propongo que no sigamos enfrascándonos en un debate en el que cada cual tiene sus posiciones muy asentadas e inamovibles.

// Saludos

ecfisa 14-11-2012 17:50:09

Cita:

Empezado por poliburro (Mensaje 449464)
Firebird no es malo. al contrario es una excelente opción como lo pueden ser otros motores como access o paradox o dbase o mysql, pero eso de equipararlo a cualquiera de los grandes me parece una necedad.

Hola.

Estoy de acuerdo, Firebird o MySQL no son rivales para, por ejemplo, un Oracle.

Pero personalmente opino que poner en el mismo plano a Firebird o MySQL con Paradox, DBase o Access es también un despropósito.

Saludos.

poliburro 14-11-2012 17:56:17

Cita:

Empezado por Casimiro Notevi (Mensaje 449469)
¿Qué comentarios he tergiversado? :confused:

por ejemplo aquí: http://clubdelphi.com/foros/showpost...7&postcount=41


o aquí: http://clubdelphi.com/foros/showpost...2&postcount=45

o aquí http://clubdelphi.com/foros/showpost...79&postcount=7 cuando en realidad el que lo comenzó fuiste tu aquí http://clubdelphi.com/foros/showpost...73&postcount=4 a pesar de que aclaré que no quería debatir aquí: http://clubdelphi.com/foros/showpost...75&postcount=6 aclarando que no me gusta firebird y a pesar de ello me acusas de incongruente aquí : http://clubdelphi.com/foros/showpost...&postcount=117

RONPABLO 14-11-2012 17:58:00

Cita:

Empezado por poliburro (Mensaje 449464)
Pero no solo he mencionado a SQL server, también he mencionado a mysql, postgresql, oracle y db2 que son los motores de bases de datos que utilizo.....

Insisto... como lo mencioné en un hilo que cita casimiro.

[/i]

Firebird no es malo. al contrario es una excelente opción como lo pueden ser otros motores como access o paradox o dbase o mysql, pero eso de equipararlo a cualquiera de los grandes me parece una necedad.

Claro ese es mi punto de vista... no es la verdad absoluta. Como ha querido desde un inicio hacerlo ver aquí Casimiro tergiversando mis comentarios... o en el colmo de la censura Al gonzalez acusandome de tener una "actitud inquina" contra Firebird. como si para una crítica fuera necesario sentir simpatia por el objeto de las críticas...


Claro y has defendido los procedimientos almacenados MySQL cosa que una gran cantidad se queja, yo personalmente empece a usar firbird después de pasar de Paradox a MySQL, y dicho paso fue desastroso, trabajaba más lento las mismas instrucciones en MySQL que en Paradox, comía más recursos y para rematar en ese momento la integridad referencial solo se podía en una arquitectura y al pasarnos a dicha arquitectura fue aun más lenta las cosas, ya no hablar de procedimientos almacenados o disparadores que no tenía en ese momento, después de mucho probar y probar abandonamos la idea de MySQL y nos pasamos a Firebird y y para mis necesidades que eran mayores a las de un Paradox o un Excel fue genial, unos años después por otro proyecto nos toco trabajar en MS SQL Server y personalmente me acuerdo que en ese tiempo decía "lo único que me gusta de MS es SQL Server y Age Of Empires", hoy en día también me gusta algo el C#... Ahora regresando al punto muy probablemente vas a querer ver que cosas hacía yo para que me fuera más mal con MySQL que con Paradox a tal punto que lo aborrecí y muy probablemente pensarás que hice las cosas muy mal para llegar a decir que MySQL era extramadamente lento, pues es eso, cuando dices algo sobre Firebird y lo dices con gente que trabaja con él todo él día pensarán que tus apreciaciones son más subjetivas que basadas en hechos, ya que las cosas que le criticas son cosas que hemos aprendido a manejar de otra forma, y como digo yo cuando trabajé con MS SQL Server extrañé mucho el uso del Suspend de firebird y ahora retomando este hilo también el no poder usar los procedimientos almacenados como consultas es algo que para mi es un punto muy malo de SQL Server ya que es demasiado útil, pero como no lo has usado no notas lo importante que es.

poliburro 14-11-2012 17:58:10

Cita:

Empezado por ecfisa (Mensaje 449471)
Hola.

Pero personalmente opino que poner en el mismo plano a Firebird o MySQL con Paradox, DBase o Access es también un despropósito.

Saludos.

En esto estoy deacuerdo, probablemente he caido en la exageración al mencionarlo junto con paradox o dbase o access. Podríamos decir que está entonces en un punto intermedio entre los grandes y los pequeños?

Al González 14-11-2012 18:05:31

Román, poliburro ya había aclarado el asunto de los datos repetidos. :)
Cita:

Empezado por poliburro (Mensaje 449081)
Siguiendo el ejemplo que he posteado en mi blog, si tienes las tablas de encabezado de venta, detalle de venta e información de clientes. devolver toda esa información como un solo join normalito te genera una tabla con la siguiente estructura:

filasdatoscliente, datosencabezadoventa, partidadeventa1
filasdatoscliente, datosencabezadoventa, partidadeventa2
filasdatoscliente, datosencabezadoventa, partidadeventa3
...........
filasdatoscliente, datosencabezadoventa, partidadeventaN

como puedes observar, hacer uso de joins para devolverver toda esa información agrupada es sumamente infeciente pues vas a devolver un recordset con información duplicada y que te exigirá seprarla en tu código para mostrarla en los diferentes repositorios.

Casi, ya no recordaba aquellas opiniones que citaste de nuestro compañero (creo que ya no tengo memoria para ciertas cosas).

Edgar, aunque pudiera, eliminar la referencia no tendría ningún sentido. Además no cambia mi deseo de que visiten tu bitácora, yo encuentro valiosa la información que ahí compartes. ^\||/

En cuanto a la sorprendente acusación de censura, pues ni qué decir. :(

roman 14-11-2012 18:08:29

Cita:

Empezado por Al González (Mensaje 449476)
Román, poliburro ya había aclarado el asunto de los datos repetidos. :)

Sí, tienes razón. Y no culpo a poliburro, sino a mi mismo :) Por alguna razón, no fue sino hasta que leí el comentario de RONPABLO que cai en la cuenta.

// Saludos

poliburro 14-11-2012 18:09:29

Cita:

Empezado por RONPABLO (Mensaje 449474)
ahora retomando este hilo también el no poder usar los procedimientos almacenados como consultas es algo que para mi es un punto muy malo de SQL Server ya que es demasiado útil, pero como no lo has usado no notas lo importante que es.

esto es cierto... nunca he usado procedimientos almacenados como consultas. :) no puedo opinar sobre su utilidad o inutilidad.

sobre mysql... pues ahí si creo que dependen muchos factores. Diseño de la base de datos, tuning, hardware, etc..

tengo un sistema funcionando en línea con múltiples usuarios dode una de las tablas que consulto con dos millones de registros me responde en décimas de segundos. A mi me ha funciondo muy bien y estoy a gusto aunque me guste más trabajr en Oracle o Db2 o PostgreSql, mysql cumple las funciones que le doy muy bien...

poliburro 14-11-2012 18:19:38

Cita:

Empezado por Al González (Mensaje 449476)

Edgar, aunque pudiera, eliminar la referencia no tendría ningún sentido. Además no cambia mi deseo de que visiten tu bitácora, yo encuentro valiosa la información que ahí compartes.

En cuanto a la sorprendente acusación de censura, pues ni qué decir.

Amigo, esa fué precisamente mi percepción a lo que mencionaste sobre mi actitud con relación a firebird. De ahí que te dijera que si lo considerabas a bien podrías eliminar la referencia a mi artículo. Si estoy errado en la percepción retiro lo dicho.

ecfisa 14-11-2012 18:20:58

Cita:

Empezado por poliburro (Mensaje 449475)
En esto estoy deacuerdo, probablemente he caido en la exageración al mencionarlo junto con paradox o dbase o access. Podríamos decir que está entonces en un punto intermedio entre los grandes y los pequeños?

Desde mi humilde opinión, es el segmento donde los ubicaría.

Saludos.

RONPABLO 14-11-2012 18:23:03

Cita:

Empezado por poliburro (Mensaje 449478)
esto es cierto... nunca he usado procedimientos almacenados como consultas. :) no puedo opinar sobre su utilidad o inutilidad.

sobre mysql... pues ahí si creo que dependen muchos factores. Diseño de la base de datos, tuning, hardware, etc..

tengo un sistema funcionando en línea con múltiples usuarios dode una de las tablas que consulto con dos millones de registros me responde en décimas de segundos. A mi me ha funciondo muy bien y estoy a gusto aunque me guste más trabajr en Oracle o Db2 o PostgreSql, mysql cumple las funciones que le doy muy bien...


La aplicación que en su momento estuvo potenciada por MySQL hoy en día está en clientes que han llegado a tener más de 2 millones de registros en una tabla de control asistencia de citas, al ver las citas de un día no se nota ni el pestañeo y es muy poco lo que he cambiado de código ahora que usa Firebird a cuando usó MySQL y en ese momento con nuestros primeros clientes "grandes" y con unos 100mil registros se llegó a demorar 15 segundos y es un punto crítico... personalmente creo que hice muchas cosas malas para que se demorará tanto tiempo.

poliburro 14-11-2012 18:32:30

Cita:

Empezado por RONPABLO (Mensaje 449483)
personalmente creo que hice muchas cosas malas para que se demorará tanto tiempo.

más que cosas malas tiene que ver con la parte de "tuning" y aprovechamiento de las fascilidadades del motor. supongo que al conocer mejor firebird aprovechaste sus características y al conocer un poco menos mysql desaprovechaste algunas de las que tiene... En lo personal me gusta mucho trabajar en bases de datos, de hecho aspiro a ser un día DBA más que programador, aunque claro, programar es algo que también me apasiona :)

Casimiro Notevi 14-11-2012 18:58:45

Bueno, amigo, yo no veo que haya tergiversado nada, pero si lo crees así, lo lamento.

cointec 15-11-2012 14:50:47

Cita:

Empezado por RONPABLO (Mensaje 449483)
La aplicación que en su momento estuvo potenciada por MySQL hoy en día está en clientes que han llegado a tener más de 2 millones de registros en una tabla de control asistencia de citas, al ver las citas de un día no se nota ni el pestañeo y es muy poco lo que he cambiado de código ahora que usa Firebird a cuando usó MySQL y en ese momento con nuestros primeros clientes "grandes" y con unos 100mil registros se llegó a demorar 15 segundos y es un punto crítico... personalmente creo que hice muchas cosas malas para que se demorará tanto tiempo.

Hola, nosotros tenemos tablas con 60 o más millones de registros y el acceso a ellas es rápido, por lo que no creo que el problema dependa de firebird. Si tarda 15 segundos, no está utilizando índices. Creo que deberías revisar el plan de ejecución de las consultas.

maeyanes 15-11-2012 16:06:58

Hola...

Cita:

Empezado por cointec (Mensaje 449576)
Hola, nosotros tenemos tablas con 60 o más millones de registros y el acceso a ellas es rápido, por lo que no creo que el problema dependa de firebird. Si tarda 15 segundos, no está utilizando índices. Creo que deberías revisar el plan de ejecución de las consultas.

Creo que te confundiste, RONPABLO estaba hablando de MySQL y no de Firebird cuando se refería a que era lento.



Saludos...

RONPABLO 16-11-2012 05:37:09

Cita:

Empezado por maeyanes (Mensaje 449585)
Hola...



Creo que te confundiste, RONPABLO estaba hablando de MySQL y no de Firebird cuando se refería a que era lento.



Saludos...

Aja, además terminé diciendo que en ese tiempo (hace mucho), debí estar haciendo las cosas muy mal para tener esos resultados de tanta lentitud, creo que algo que mejoro la velocidad era que en ese momento en MySQL la integridad referencial no estaba muy bien implementada, cosa que de entrada en FIribird si que soportaba sin problemas, y aunque un una llave foránea no crea indices si mejora (percepción personal) la velocidad, algo similar a la indexación debe de hacer al crear dicha llave pienso yo

Casimiro Notevi 16-11-2012 09:57:48

Claro, al crear una clave foránea se crea automáticamente un índice por ese campo.

mightydragonlor 16-11-2012 17:53:57

Cita:

Empezado por RONPABLO (Mensaje 449652)
y aunque un una llave foránea no crea indices si mejora (percepción personal) la velocidad, algo similar a la indexación debe de hacer al crear dicha llave pienso yo

Realmente no es así, si bien los índices son necesarios para optimizar el rendimiento, las llave foráneas hacen que sea mas lento, es decir, el motor tiene que comprobar que esa llave se cumpla, por esta razón una base de datos sin llaves foráneas da como resultado una mejora notable en velocidad, eso si, no tiene sentido usar un RDBMS si no le vas a sacar provecho, además que las claves foráneas son super importantes para mantener la integridad de la base de datos.

No hace mucho, una empresa consultora muy importante, asesoró a una empresa para la cual hacemos desarrollos, y una de las cosas que les dijo, es esto que les comento para una base de datos oracle 11g, algo que obviamente no estoy desacuerdo por lo antes mencionado.

Saludos.

Casimiro Notevi 16-11-2012 18:26:14

Bueno, todo es relativo, lo más "rápido" es no tener triggers, stored procedures, claves foráneas, sólo un índice para buscar sobre el mismo, etc.
Cuantos más índices tengamos entonces más lento será porque tiene que actualizarlos todos, y así ocurre con todo, pero entonces tendriamos una tabla plana y punto.

mightydragonlor 16-11-2012 18:32:36

Cita:

Empezado por Casimiro Notevi (Mensaje 449702)
Bueno, todo es relativo, lo más "rápido" es no tener triggers, stored procedures, claves foráneas, sólo un índice para buscar sobre el mismo, etc.
Cuantos más índices tengamos entonces más lento será porque tiene que actualizarlos todos, y así ocurre con todo, pero entonces tendriamos una tabla plana y punto.

Exacto, para eso no se hace uso de un RDBMS.

Casimiro Notevi 16-11-2012 19:26:53

exacto ^\||/

Gallosuarez 16-11-2012 20:01:30

As bajo la manga ...
 
Bueno, hasta para eso (agilizar algunas actualizaciones masivas e inserciones complejas sin utilizar índices) Firebird cuenta con el no tan conocido RDB$DB_KEY. Es una verdadera lástima que Claudio Valderrama, que hizo mucha de la investigación sobre este tema haya dado de baja su página web (http://www.cvalde.net/document/pract...of_the_rdb.htm). Sería bueno saber si alguien conserva alguna copia sobre todo esa investigación o en su defecto pedirle de favor a Claudio Valderra si puede proporcionar todo es información nuevamente.

Saludos,
Gerardo Suárez Trejo

roman 16-11-2012 20:13:30

¡Ah! Pues para eso existe wayback machine :)

// Saludos

Gallosuarez 16-11-2012 20:34:55

Investigación RDB$DB_KEY
 
Roman:

Bueno, pues asunto solucionado. Gracias por el aporte ...
Por otro lado, como bien lo dice dicho artículo, los ejemplos pudieran ser escritos mas en forma de un "tutorial", de esta manera se ejemplifica mas su entendimiento.

Saludos,
Gerardo Suárez Trejo

jachguate 16-11-2012 21:04:07

Hola!!

Recién estoy leyendo este largo hilo, por lo que no estoy enterado de todo su contenido aún :eek:

A medida que voy leyendo, y dado que he salido a bailar entre los mensajes, he encontrado un par de referencias que me gustaría comentar:

Cita:

Empezado por roman (Mensaje 449284)
mientras que jachguate hace mucho tiempo que no se pasa por aquí y ni siquiera comenzó él el hilo.
...
Y tan apreciamos lo que jachguate dio en su momento al club, que sigue siendo moderador.

A la fecha sigo considerando al Club Delphi mi casa, o para ser más exacto, algo así como la casa de mis padres, de la cuál estoy separado por varios cientos de kilómetros de distancia y de igual manera visito poco, pero siempre que lo hago, lo hago con toda la confianza, sintiéndome tan bienvenido como siempre.

La decisión del equipo de mantener mi status de moderador es algo que también aprecio y agradezco, aunque no con poca pena, pues para nada realizo las funciones y tareas que los moderadores hacen para mantener la casa en orden y con buen funcionamiento.

Cita:

Empezado por roman (Mensaje 449338)
Simplemente diré, que, más que defender un punto, da la impresión de que tienen cierto rencor por no haber visto aquí una recepción más abultada a la traducción del libro de Programación Paralela, un rencor, que ni siquiera sé si el propio Juan Antonio tiene.

Sobre esto, mi estimado roman, no comprendo exactamente a que te refieres, pero lejos de un rencor, lo que existe de mi parte es agradecimiento, a quien se tomó la molestia de publicar la noticia de la publicación del libro, y a los moderadores del club por permitir el espacio para que esta se realizara y permaneciera.

De entrada sé que el tema es bastante especializado y por tanto no genera demasiado movimiento a su alrededor –aunque dicho sea de paso, multi-hilos es el presente y el futuro de la computación–, además de que, debido a la falta de costumbre encontrar libros en español sobre Delphi, poco estamos acostumbrados a leer y dar la bienvenida a este tipo de materiales.

Un saludo cordial!


La franja horaria es GMT +2. Ahora son las 20:07:24.

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