Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Utilizar procedimientos almacenados o hacer consultas en AdoQuery (https://www.clubdelphi.com/foros/showthread.php?t=87833)

magmarcelli 04-03-2015 15:32:17

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?

ecfisa 05-03-2015 06:49:33

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:
  • Abstracción: Se aisla a la aplicación de los detalles de tablas, columnas, etc.
  • Mantenimiento: Al estar centralizados se los puede modificar sin tener que tocar nada en las aplicaciones clientes.
  • Seguridad: Se le pueden asignar derechos a roles o usuarios.
Y por último hay operaciones complejas que son inviables, lentas o muy complicadas de implementar en una consulta.

Tampoco hay que fanatizarse y pensar que todo tiene que ser un S.P. :)

Saludos :)

Neftali [Germán.Estévez] 05-03-2015 09:25:27

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.

Casimiro Notevi 05-03-2015 13:09:11

Cita:

Empezado por ecfisa (Mensaje 489640)
hay algunas ventajas innegables que apareja el uso de procedimientos almacenados

Cita:

Empezado por Neftali (Mensaje 489647)
Personalmente prefiero utilizar querys

Pues eso, depende :)

nlsgarcia 05-03-2015 14:06:16

Club Delphi,

Cita:

Empezado por ecfisa
...ventajas innegables que apareja el uso de procedimientos almacenados...Abstracción...Mantenimiento...Seguridad...

^\||/

Cita:

Empezado por Neftali
...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 estándar prefiero querys...son más fáciles de "debuggar"...Más fáciles de portar...

^\||/

Nelson.


La franja horaria es GMT +2. Ahora son las 19:31:27.

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