![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
Sobre el rendimiento de la consulta en un SP, esto aplica para la gran mayoria de motores de bases que cuentan con algo llamado "Execution plan" Acaso firebid no lo tiene? Cómo hace firebird para decidir la ruta más óptima para ejecutar una sentencia sql? Cómo hacen ustedes para verificar en Firebrid que no están ejecutando un "Table Scan" al ejecutar una consulta? ¿Firebird es capaz de permitirles decidir como y cuándo usar determinados índices en una tabla? Cita:
__________________
Conoce mi blog http://www.edgartec.com Última edición por poliburro fecha: 14-11-2012 a las 00:38:44. |
|
#2
|
||||
|
||||
|
Amigo Poliburro, ¡¡¡qué manera de desvariar!!!, lo tuyo con firebird es grave
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
||||
|
||||
|
Cita:
¿y a que viene eso? estoy diciendo algo errado? honestamente no conozco suficiente firebird por eso pregunto.
__________________
Conoce mi blog http://www.edgartec.com |
|
#4
|
||||
|
||||
|
Precisamente, amigo, es que me extraña muchísimo tu actitud, cualquier cosa que se comente es suficiente para que digas algo como: "pero firebird no tiene talcosa
![]() ![]() ", "pero firebird no tiene laotracosa ![]() ![]() ", etc.Yo no veo en ningún sitio que se haya dicho nada sobre los planes de ejecución, que por supuesto que tiene, y la interpretación que estás haciendo de los "stored procedure" también le buscas el lado malo: "tanto código hay que escribir para esto o para aquello ![]() ![]() ".Cuando realmente es que no lo has entendido, o no se te ha explicado bien.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
||||
|
||||
|
Cita:
Cita:
Es una pregunta la que hago. Acaso preguntar algo es un desvario? ![]() Cita:
__________________
Conoce mi blog http://www.edgartec.com |
|
#6
|
|||
|
|||
|
Hola poliburro, lo que no entiendo es la frase "tienes que hacer todo ese código para devolver un resulset", cuando lo único que se tiene que escribir en el cuerpo del procedimiento almacenado si deseas devolverlo como resultset es "suspend"
El resto de código es común y la lógica será la misma que en cualquier motor. Por otro lado, cuando te pedía el ejemplo no era en la llamada al procedimiento, sino en que escribieses el cuerpo del procedimiento en sqlserver, mysql, etc. para poder comprobar a lo que te referias con "todo ese código". Imagino que en los motores que comentas, tendrás que declarar la estructura del resultset, con campos y tipos, que es equivalente a los parámetros de retorno del procedimiento almacenado. Dentro del procedimiento, tendrás que introducir los datos en variables e insertarlos en el resultset, para poder posteriormente devolverlos y por último devolver una referencia al resultset. Desde tu aplicación cliente tendrás una llamada al procedimiento almacenado y posteriormente otra llamada para obtener los datos insertados en el resultset. En firebird, la sencillez es que la llamada al procedimiento ya es un resultset. Quizá con ejemplos sería mejor, por lo que sí nos pones algún ejemplo en otros motores, te podríamos mostrar su traducción a firebird y podríamos comparar cosas y no utilizar frases genéricas que creo no tienen sentido.
__________________
Un saludo, Jesus García |
|
#7
|
||||
|
||||
|
Cita:
PD: Si no estoy mal, para la versión 3 de Firebird que no está lejos de salir, se va a soportar la salida de varios cursores o resulsets en un procedimiento almacenado y en execute block, creo que también en funciones. Saludos.
__________________
mas confundido que Garavito el día del Niño. |
|
#8
|
||||
|
||||
|
Me parece que Casimiro ha detectado el tono con el que haces esas preguntas, Edgar, que no es precisamente el de alguien que espera recibir una respuesta didáctica y amable. Dices que no conoces lo suficientemente Firebird, pero recalcas las limitaciones que a tu juicio tiene. Respondes con efugios a algunas de las observaciones que de buena fe te hacen algunos de los compañeros en un intento por hacerte entrar en razón, para luego hacer comparaciones tendenciosas.
A los que hemos seguido este hilo ya nos quedó claro que guardas una especie de inquina hacia Firebird. Yo desconocía esto de ti (o mi memoria es mala), y de haberlo sabido antes no hubiera puesto en el mismo mensaje la pregunta inicial y la referencia a tu artículo. Ahora, en lo personal creo que las consultas de múltiples cursores es algo que Firebird debiera tener. Algo ha de rescatarse de este mal devenido debate. Saludos. |
|
#9
|
||||
|
||||
|
A lo que yo he contribuido. Lo lamento.
![]() -------- Aunque no es exactamente pra rescatar el debate, pues más bien es una duda, me gustaría, Al, leer tu opinión de porqué es buena esta característica de los múltiples result sets. El ejemplo de poliburro no me aclara pues, a mi juicio, es algo que puede lograrse con enlaces entre tablas para recabar la información deseada. ¿Tendrías alguna situación en mente en la qué aplicar dicha técnica? // Saludos |
|
#10
|
||||
|
||||
|
Cita:
puedes eliminar la referencia a mi artículo cuándo lo consideres correcto y de esa manera evitarte lamentaciones.2- No tengo ningún tipo de "inquina" contra firebird. No aprecio a ese motor de base de datos y tampoco soy muy dado a elegirlo para mis proyectos. Pero si fuera contratado para trabajar en él lo haría sin ningún problema. 3- He visto aquí a muchos vosciferar contra Windows, .Net, Vb, Sql Server, la iglesia, el anticristo, etc etc y no ha habido ningún problema en ello. ¿Por qué se considera tan "mala" mi "inquina" contra Firebird?
__________________
Conoce mi blog http://www.edgartec.com Última edición por poliburro fecha: 14-11-2012 a las 16:40:19. |
|
#11
|
||||||
|
||||||
|
Cita:
Cita:
Cita:
Cita:
Cita:
el resultado va ser un DataSet: Cita:
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H" |
|
#12
|
||||
|
||||
|
Bueno, este documento explica un poco sobre los procedimientos almacenados, es viejo y trata de Interbase, pero para este caso, acplica, este otro es algo mas actual y muestra mas cosas.
Saludos.
__________________
mas confundido que Garavito el día del Niño. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Ayuda: "Record not found or changed by another user" | alquimista_gdl | Conexión con bases de datos | 14 | 21-03-2009 20:09:21 |
| Cursor "intermitente" al realizar consultas. | mlara | Firebird e Interbase | 1 | 24-05-2008 02:51:26 |
| Error Invalid blob handle in record buffer??? sin usar "Blobs to cache" | varuhs | Conexión con bases de datos | 4 | 22-01-2007 21:19:53 |
| ¿Como Guardar un "RECORD" en un campo BLOB? | sitrico | Conexión con bases de datos | 5 | 29-06-2004 17:32:01 |
| "no current record for fetch operation" con procedimiento almacenado usado en Select | Al González | Firebird e Interbase | 1 | 17-03-2004 21:13:17 |
|