![]() |
Utilizar procedimientos almacenados o hacer consultas en AdoQuery
Hola amigos, me surgió esta duda y no se que piensan ustedes según su experiencia, que es mejor? crear consultas en procedimientos almacenados en la base de datos y luego invocarlo con el componente AdoStoreProcedure o hacer las consultas directamente en componentes AdoQuery? ambos entregan los mismo resultados pero en cuanto a rendimiento que sería lo mejor?
|
Hola magmarcelli.
Hablar sobre el rendimiento (supongo que te refieres a velocidad) es subjetivo por que depende de varios factores, sin ir mas lejos ni siquiera sé de que RDBMS estamos hablando. De todos modos no es algo que te resulte difícil comprobar ejecutando la consulta de ambos modos. Sin embargo, a mi modo de ver, hay algunas ventajas innegables que apareja el uso de procedimientos almacenados:
Tampoco hay que fanatizarse y pensar que todo tiene que ser un S.P. :) Saludos :) |
Personalmente prefiero utilizar querys para realizar consultas incluso determinadas operaciones que se podrían hacer en Stored Procedures me gusta programarlas en Delphi.
¿Porqué? (1) Desde Delphi son más fáciles de "debuggar" que si están en un SP o en un trigger del SGBD. (2) Más fáciles de portar. He visto sistemas que nunca cambiarán de SGBD porque es IMPOSIBLE migrar todos los Stored Procedures y Triggers que tienen implementados. (3) Porque a la hora de "seguir" la ejecución de un programa y actualizarlo te puedes volver loco intentando seguir el rastro de las operaciones. Resulta que lanzas un Update en una tabla, eso hace saltar un trigger que lanza un stored que a su vez hace updates en un par de tablas con triggers... :o Divertidíssimo...:D:D ¿Es una regla absoluta? No. Los Stored van muy bien cuando se necesita mayor velocidad y eficiencia. Para grandes conjuntos de datos o para operaciones complejas que incluyen muchas tablas. Pero para consultas normales (entiendo que el 90% o 95%) en un programa estandard prefiero querys. |
Cita:
Cita:
|
Club Delphi,
Cita:
Cita:
Nelson. |
La franja horaria es GMT +2. Ahora son las 10:12:46. |
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