Sobre sp y plan de ejecucion guardado

13/03/2005 - 23:33 por Berta Gomez | Informe spam
Veo que se habla que los sp guardan el plan de ejecucion si no son
dinamicos. Estoy pensando hacer un sp donde un parametro me indique cual
query ejecutar: ej:

if @parametro=1
select col1, .. from tabla1..
else
if @parametro=2
select col4, from tabla2
else
if @parametro=2
select col8, from tabla4 inner join tabla5 etc.

Mi inquietud es si un sp de esta forma guarda el plan de ejecucion ? Ojo: no
estoy usando sp_executesql.


Gracias

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera [MVP]
14/03/2005 - 00:00 | Informe spam
Sí.

SQL Server 2000 guarda los planes de ejecución de toda sentencia SQL no
dinámica en el caché del procedimiento.

Gustavo Larriera
Uruguay LatAm
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Blog: http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and
confers no rights.



"Berta Gomez" wrote in message
news::
Veo que se habla que los sp guardan el plan de ejecucion si no son
dinamicos. Estoy pensando hacer un sp donde un parametro me indique
cual
query ejecutar: ej:

if @parametro=1
select col1, .. from tabla1..
else
if @parametro=2
select col4, from tabla2
else
if @parametro=2
select col8, from tabla4 inner join tabla5 etc.

Mi inquietud es si un sp de esta forma guarda el plan de ejecucion ? Ojo:
no
estoy usando sp_executesql.


Gracias
Respuesta Responder a este mensaje
#2 Berta Gomez
15/03/2005 - 02:21 | Informe spam
Eso tambien, pensando ahora, puedo aplicarlo para los sp de cruds de las
tablas de mi bd. O sea en vez de tener un sp para insert, otro para update,
mejor tener uno solo y pasarle un parametro que me indique si es insert,
update y el sp discrimine segun este parametro y ejecute la instruccion
adecuada.

create procedura usp_IU_tabla @tipocrud char(1), @param1,...
as
if @tipocrud='I'
insert into tabla
else
if @tipocrud='U' update tabla


Que piensas o piensan sobre eso ?

Gracias por la ayuda
Berta Gomez


"Gustavo Larriera [MVP]" wrote in message
news:uL$
Sí.

SQL Server 2000 guarda los planes de ejecución de toda sentencia SQL no
dinámica en el caché del procedimiento.

Gustavo Larriera
Uruguay LatAm
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Blog: http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and
confers no rights.



"Berta Gomez" wrote in message
news::
> Veo que se habla que los sp guardan el plan de ejecucion si no son
> dinamicos. Estoy pensando hacer un sp donde un parametro me indique
> cual
> query ejecutar: ej:
>
> if @parametro=1
> select col1, .. from tabla1..
> else
> if @parametro=2
> select col4, from tabla2
> else
> if @parametro=2
> select col8, from tabla4 inner join tabla5 etc.
>
> Mi inquietud es si un sp de esta forma guarda el plan de ejecucion ?


Ojo:
> no
> estoy usando sp_executesql.
>
>
> Gracias

Respuesta Responder a este mensaje
#3 MAXI
15/03/2005 - 02:31 | Informe spam
Hola Berta, existiendo la gran cantidad de herramientas free que te generan
los sp' del CRUD la verdad que mucho no me agrada este modelo. Yo en lo
personal prefiero ver todo separado y tener mayor control, imaginate que
queres que un usuario ejecute solo la opcion de select y no las otras, con
sp por CRUD es muy simple, con tu modelo se complicaria mucho poder hacerlo.



Maxi
Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)



"Berta Gomez" escribió en el mensaje
news:unT%
Eso tambien, pensando ahora, puedo aplicarlo para los sp de cruds de las
tablas de mi bd. O sea en vez de tener un sp para insert, otro para
update,
mejor tener uno solo y pasarle un parametro que me indique si es insert,
update y el sp discrimine segun este parametro y ejecute la instruccion
adecuada.

create procedura usp_IU_tabla @tipocrud char(1), @param1,...
as
if @tipocrud='I'
insert into tabla
else
if @tipocrud='U' update tabla


Que piensas o piensan sobre eso ?

Gracias por la ayuda
Berta Gomez


"Gustavo Larriera [MVP]" wrote in message
news:uL$
Sí.

SQL Server 2000 guarda los planes de ejecución de toda sentencia SQL no
dinámica en el caché del procedimiento.

Gustavo Larriera
Uruguay LatAm
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Blog: http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and
confers no rights.



"Berta Gomez" wrote in message
news::
> Veo que se habla que los sp guardan el plan de ejecucion si no son
> dinamicos. Estoy pensando hacer un sp donde un parametro me indique
> cual
> query ejecutar: ej:
>
> if @parametro=1
> select col1, .. from tabla1..
> else
> if @parametro=2
> select col4, from tabla2
> else
> if @parametro=2
> select col8, from tabla4 inner join tabla5 etc.
>
> Mi inquietud es si un sp de esta forma guarda el plan de ejecucion ?


Ojo:
> no
> estoy usando sp_executesql.
>
>
> Gracias





email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida