Plan de ejecucion en funciones.

30/04/2005 - 05:26 por Alonso | Informe spam
Se ha dicho que las funciones no guardan el plan de ejecucion pero que tal
cuando uno tiene un sp con un select que incluye una funcion en alguna de
sus clausulas ?

No se supone que deberian guardar el plan de ejecucion tanto del sp como de
la(s) funcion(es) que esta llamando ?


Gracias

Preguntas similare

Leer las respuestas

#1 Maxi
01/05/2005 - 00:07 | Informe spam
Hola de donde has sacado que las funciones no guardan el plan?


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas
Msn:

Maxi.da[arroba]gmail.com

"Alonso" escribió en el mensaje
news:
Se ha dicho que las funciones no guardan el plan de ejecucion pero que tal
cuando uno tiene un sp con un select que incluye una funcion en alguna de
sus clausulas ?

No se supone que deberian guardar el plan de ejecucion tanto del sp como
de
la(s) funcion(es) que esta llamando ?


Gracias


Respuesta Responder a este mensaje
#2 Alonso
01/05/2005 - 01:59 | Informe spam
Hola, Maxi,

Lo he sacado de un mensaje antiguo que tenía guardado, escrito precisamente
por usted en respuesta a alguien que preguntaba algo similar en el foro. Al
menos eso fue lo que entendí cuando dice "Las UDF no son iguales a los Sp's
por ej no mantienen compilado el plan de ejecucion entre otras cosas.":


Este es el post original:


Autor:MAXI ()
Asunto:Re: Muchisimos SP's y funciones en una BD
View: Complete Thread (14 artículos)
Original Format
Grupos de noticias:microsoft.public.es.sqlserver
Fecha:2004-12-29 17:46:51 PST


Hola, mira yo para esas cosas uso Sp, las funciones las uso para otras
cosas, por ej, calculos de fechas complejos, conversiones, etc.

Si lo pones en una funcion vas a tener que desde la aplicacion llamarla y
esto lo trato de evitar a toda costa, para mi desde la aplicacion a la BDD
solo debe ser Sp's y si tengo funciones es porque las usare dentro de los
Sp's pero no las uso para todo. En tu caso si deseo saber por ej el saldo de
un cliente, lo hago con un Sp's

Las UDF no son iguales a los Sp's por ej no mantienen compilado el plan de
ejecucion entre otras cosas.

Un abrazo




Maxi

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

Msn Messenger:

"Pedro Jose Caceres" escribió en el mensaje
news:

"MAXI" wrote in message
news:
Hola, las UDF son otra cosa muy distinta a los SP's por ej yo dispongo de
muy pocas UDF, solo las uso para casos muy especificos.



Por que ? no deberia ser lo mismo ?


Pero los Sp's son la
base de mis sistemas y te comento que cuando trabajas en entornos
corporativos hacer las cosas bien es muy importante.

Vos para que estas usando las UDF?




Basicamente para calculos que me deben devolver un solo valor, ej. un
balance puntual de una cuenta a una fecha, la fecha del ultimo pago de un
cliente, el total de ventas de un mes para un cliente, el ultimo numero
de
un documento (para desplegarlo), y asi por el estilo.

Realmente sé que con un SP se puede hacer lo mismo con un parametro
OUTPUT.
Pero cual sería la diferencia o conveniencia de hacerlo por SP en vez de
una
simple función ?




Respuesta Responder a este mensaje
#3 Maxi
01/05/2005 - 16:37 | Informe spam
Hola :-), fancamente ahora me dejaste en la duda si las funciones (todas) no
guardan el plan, me da la sensacion que esto no debe ser tan asi y que
algunas funciones si guardan el plan. De todas maneras las funciones tienen
cosas que los sp's no pueden hacer entonces es como que son cosas distintas.
la ventaja de las UDF es que las puedes incluir en un SELECT por ej


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas
Msn:

Maxi.da[arroba]gmail.com

"Alonso" escribió en el mensaje
news:%
Hola, Maxi,

Lo he sacado de un mensaje antiguo que tenía guardado, escrito
precisamente
por usted en respuesta a alguien que preguntaba algo similar en el foro.
Al
menos eso fue lo que entendí cuando dice "Las UDF no son iguales a los
Sp's
por ej no mantienen compilado el plan de ejecucion entre otras cosas.":


Este es el post original:


Autor:MAXI ()
Asunto:Re: Muchisimos SP's y funciones en una BD
View: Complete Thread (14 artículos)
Original Format
Grupos de noticias:microsoft.public.es.sqlserver
Fecha:2004-12-29 17:46:51 PST


Hola, mira yo para esas cosas uso Sp, las funciones las uso para otras
cosas, por ej, calculos de fechas complejos, conversiones, etc.

Si lo pones en una funcion vas a tener que desde la aplicacion llamarla y
esto lo trato de evitar a toda costa, para mi desde la aplicacion a la BDD
solo debe ser Sp's y si tengo funciones es porque las usare dentro de los
Sp's pero no las uso para todo. En tu caso si deseo saber por ej el saldo
de
un cliente, lo hago con un Sp's

Las UDF no son iguales a los Sp's por ej no mantienen compilado el plan de
ejecucion entre otras cosas.

Un abrazo




Maxi

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

Msn Messenger:

"Pedro Jose Caceres" escribió en el mensaje
news:

"MAXI" wrote in message
news:
Hola, las UDF son otra cosa muy distinta a los SP's por ej yo dispongo
de
muy pocas UDF, solo las uso para casos muy especificos.



Por que ? no deberia ser lo mismo ?


Pero los Sp's son la
base de mis sistemas y te comento que cuando trabajas en entornos
corporativos hacer las cosas bien es muy importante.

Vos para que estas usando las UDF?




Basicamente para calculos que me deben devolver un solo valor, ej. un
balance puntual de una cuenta a una fecha, la fecha del ultimo pago de un
cliente, el total de ventas de un mes para un cliente, el ultimo numero
de
un documento (para desplegarlo), y asi por el estilo.

Realmente sé que con un SP se puede hacer lo mismo con un parametro
OUTPUT.
Pero cual sería la diferencia o conveniencia de hacerlo por SP en vez de
una
simple función ?










Respuesta Responder a este mensaje
#4 qwalgrande
03/05/2005 - 13:37 | Informe spam
Hola.

Las funciones se ejecutan en memoria, así que no podrás ver el plan de
ejecución que utilizan. Eso no significa que no usen y cacheen un mismo plan
siempre que se ejecutan.

Si quieres saber cómo es el plan de ejecución de una función, constrúyete un
procedimiento almacenado que haga exactamente lo mismo. Así es como optimizo
yo las funciones que desarrollo.

qwalgrande


"Alonso" escribió en el mensaje
news:
Se ha dicho que las funciones no guardan el plan de ejecucion pero que tal
cuando uno tiene un sp con un select que incluye una funcion en alguna de
sus clausulas ?

No se supone que deberian guardar el plan de ejecucion tanto del sp como
de
la(s) funcion(es) que esta llamando ?


Gracias


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