Stored Procedures are bad?

24/05/2008 - 03:59 por Antonio Ortiz | Informe spam
Un interesante articulo, lo expongo para enriquecer el tema sin afan de
defender tal o cual posicion. Lo ironico es que el autor del articulo es el
mismo que creo la herramienta LLBLGen, que permite generar codigo para SP y
clases .Net para la capa de datos.

Su articulo 'Stored Procedures are bad'
http://weblogs.asp.net/fbouma/archi...38178.aspx

Descarga de LLBLGen
http://www.microsoft.com/downloads/...x?FamilyID›F77697-10B0-42CA-AFE9-B76044B3D2AF&displaylang=en


Investigue un poco el tema a raiz de que un instructor se ofendio cuando le
dije que no estaba de acuedo en la afirmacion 'Los Stored Procedures
ejecutan mas rapido que las consultas dinamicas'. En mi opinion el unico
argumento sostenible para utilizar SP es 'buenas practicas'.


saludos,

Antonio Ortiz
asesor en sistemas
www.aortiz.net
www.progvisual.com

Preguntas similare

Leer las respuestas

#31 Maxi Accotto
25/05/2008 - 16:48 | Informe spam
Pablo, por mas que las empresas no tengan DBA fisicamente, por lo general
contratan servicios para por ejemplo hacer un tuning o cosas de DBA :-)


Microsoft MVP SQLServer
www.sqltotalconsulting.com
-

"Pablo Roca" escribió en el mensaje de
noticias:
Mostrar la cita
#32 Maxi Accotto
25/05/2008 - 16:56 | Informe spam
Mostrar la cita
Si, solo por ti, y quien sos vos? ya te han demostrado que muchos gurues y
con argumentos de la realidad (no solo libros y teoria como la tuya) los
hacen a un buen diseño y luego mantenimiento de todo el sistema, o sea: que
tu lo hayas reflutado no quiere decir que sea la verdad y que los
profesionales piensen como vos, y hagan las cosas como vos.

La verdad que leerte da risa, es como que haces copy paste de internet y
solo tenes teoria, hasta me da la impresion que nunca has hecho un sistema
pero bueno..

Microsoft MVP SQLServer
www.sqltotalconsulting.com
-

"Alfredo Novoa" escribió en el mensaje de
noticias:b3chnk0l87cb.1ixj1jlpyr1ge$
Mostrar la cita
#33 Pablo Roca
25/05/2008 - 16:56 | Informe spam
"Maxi Accotto" escribió en el mensaje
news:%23FDm%

Mostrar la cita
Con todos mis respetos Maxi, estoy en desacuerdo,

Eso no tiene que ver con el no poner las cosas dentro de SPs, sino de tener
poca "higiene" en la arquitectura, analisis y el desarrollo de la
aplicación. Efectivamente si hacemos las cosas mal, pues tendremos problemas
en un futuro.

Si montamos una arquitectura separando muy bien la capa de acceso a datos,
no habrá que montar ninguna traza ni nada, simplemente modificando las
incompatibilidades en dicha capa de acceso a datos. Y eso no llevará tampoco
a tener que modificar el interface.

Usar SPs porque podremos ser unos chapuzas desarrollando no me parece la
mejor opción. Un chapuzas hará una chapuza de SP que dará problemas seguro.


Saludos,

Pablo Roca
La Coruna - Spain
http://www.portalfox.com
#34 Pablo Roca
25/05/2008 - 17:01 | Informe spam
Hola Maxi,

Efectivamente así puede ser. Pero si yo fuera el dueño de una empresa que no
se puede permitir pagar a un DBA no dejaría en manos de un DBA externo
permanentemente el camino y el control de un desarrollo.

Un ajuste o contratar tunning puntualmente, pues si. Pero no entregar mi
desarrollo a un DBA externo.


Saludos,

Pablo Roca
La Coruna - Spain
http://www.portalfox.com
"Maxi Accotto" escribió en el mensaje
news:OG%
Mostrar la cita
#35 Maxi Accotto
25/05/2008 - 17:22 | Informe spam
Claro Pablo, yo tengo varios clientes que no tienen DBA y nunca lo tendran,
pero si tienen SQLServer y contratan servicios, si haces un proceso de
tunning sin SP no es lo mismo si lo haces con SP, si haces una migracion y
no hay SP el proyecto puede hasta demorar mas del doble, mira te cuento un
caso reciente (una semana)

Cliente X nos llama para migrar un sistema ERP de SQL 2000 a SQL 2005.

Bien, para hacer un proceso de migracion hay que seguir algunos pasos (aca
solo expongo algunos)

1) Analizar que cosas que estan en 2000 no son compatibles en 2005 o bien
hay que modificar
2) Ambiente de prueba
3) Migracion

Para el paso 1 SQL2005 te da una herramienta llamada "Upgrate Advisor" el
cual analiza una instancia SQL y te hace recomendaciones.
Pues bien, si todo esta dentro de la base de datos el analisis no es muy
complejo, corres la herramienta, ves las recomendaciones y listo.
Si las aplicaciones tienen SQL por fuera, entonces hay que hacer lo
siguiente:

1) Montar una traza con el Profiler
2) Al advisor ponerle esa traza y que a partir de ahi nos de el diagnostico.

Pues bien, te imaginas que si tenemos que hacer esta segunda opcion, hay que
lograr que se ejecuten TODOS los modulos y opciones del sistema no? porque
sino como aseguras 100% que todo va a funcionar?

Te estaras dando cuenta del tiempo que lleva hacerlo con la opcion 1 (tenes
todo dentro de la bdd) vs la opcion 2.

Bueno, este cliente no tenia SP y se le cotizo la opcion 2, el costo y
tiempo del proyecto fue casi de 6 a 1.

Si haces tunning es lo mismo, si tenes todo dentro de la bdd hasta hay
herramientas que analizan el codigo y te dicen donde pueden estar los
problemas sin montar una sola traza :-)

A nivel de seguridad pasa lo mismo, es una cosa de locos pensar que un
usuario final incie su excel y pueda hacer un select de la tabla clientes
por ejemplo, eso no es muy seguro quew digamos.

Con respecto a la performance yo aqui hago un punto, no es lo mismo un SP
para CRUD que de reportes, los primeros si los queremos comparar vs SQL
desde la aplicacion quizas ni diferencia notemos, pero los segundos puede
haber una enorme diferencia.

Pero bueno es un tema eterno este, yo por suerte cada dia veo mas el uso de
SP en clientes grandes y medianos , y los desarrolladores cada dia se dan
mas cuenta que no es mas trabajo hacerlo asi y ni hablar si usan
herramientas para generar codigo.
Pero bueno esta es mi experiencia, por lo general cuando vamos a un cliente
a hacer un proceso (tunning, migrfaciones, analisis de QA) y no tienen SP al
terminar el trabajo nuestro ven los beneficios de que si hubieran tenido SP
cuanto hubieramos optimizado las cosas (eficiencia de otros procesos)


Bueno Pablo, un gusto como siempre hablar contigo, espero que si algun dia
ando por esos lares encontrarnos y compartir algun vinito :-)




Microsoft MVP SQLServer
www.sqltotalconsulting.com
-

"Pablo Roca" escribió en el mensaje de
noticias:
Mostrar la cita
Ads by Google
Search Busqueda sugerida