Funcion o Stored Procedure

15/03/2006 - 03:16 por MAbanto | Informe spam
Hola Grupo:

Ante todo quiero agradecerles por las infinitas veces que han dado la
solución a los problemas que se presentan en mi trabajo... pero como para no
perder la costumbre por acá que se me presento uno nuevo.

Tengo un select:
Select isnull(count(codigo_ruta) ,0)
from boletos b inner join rutas r
on b.origen=r.origen and b.destino=r.destino
where (fechahora_emision between @F and @FI ) and suma='1' and
docum=@tdoc and nrodocum=@ndoc and r.rut_larga='0'

Si bien no tengo un indice para esta consulta ( porq mi tabala Boletos ya
tiene 7, si le pongo una mas muere al momento de grabar) .. porque si si lo
ejecutos desde un proc es más rápido que si lo llamo desde una función??? a
que se puede deber? o que me recomiendan.. lo puse en una función porq la
llamo desde varios proc.

Gracias

Preguntas similare

Leer las respuestas

#1 Maxi
15/03/2006 - 12:56 | Informe spam
Hola,m no deberia, revisa los planes de ejecucion


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"MAbanto" escribió en el mensaje
news:
Hola Grupo:

Ante todo quiero agradecerles por las infinitas veces que han dado la
solución a los problemas que se presentan en mi trabajo... pero como para
no
perder la costumbre por acá que se me presento uno nuevo.

Tengo un select:
Select isnull(count(codigo_ruta) ,0)
from boletos b inner join rutas r
on b.origen=r.origen and b.destino=r.destino
where (fechahora_emision between @F and @FI ) and suma='1' and
docum=@tdoc and nrodocum=@ndoc and r.rut_larga='0'

Si bien no tengo un indice para esta consulta ( porq mi tabala Boletos ya
tiene 7, si le pongo una mas muere al momento de grabar) .. porque si si
lo
ejecutos desde un proc es más rápido que si lo llamo desde una función???
a
que se puede deber? o que me recomiendan.. lo puse en una función porq la
llamo desde varios proc.

Gracias
Respuesta Responder a este mensaje
#2 Alejandro Mesa
15/03/2006 - 14:49 | Informe spam
MAbanto,

Que tipo de funcion "inline" o "multi statements"?
Puedes postear el codigo de la funcion?


AMB

"MAbanto" wrote:

Hola Grupo:

Ante todo quiero agradecerles por las infinitas veces que han dado la
solución a los problemas que se presentan en mi trabajo... pero como para no
perder la costumbre por acá que se me presento uno nuevo.

Tengo un select:
Select isnull(count(codigo_ruta) ,0)
from boletos b inner join rutas r
on b.origen=r.origen and b.destino=r.destino
where (fechahora_emision between @F and @FI ) and suma='1' and
docum=@tdoc and nrodocum=@ndoc and r.rut_larga='0'

Si bien no tengo un indice para esta consulta ( porq mi tabala Boletos ya
tiene 7, si le pongo una mas muere al momento de grabar) .. porque si si lo
ejecutos desde un proc es más rápido que si lo llamo desde una función??? a
que se puede deber? o que me recomiendan.. lo puse en una función porq la
llamo desde varios proc.

Gracias
Respuesta Responder a este mensaje
#3 MAbanto
17/03/2006 - 21:43 | Informe spam
sorry q' me demoro en responder, pero a veces salgo de viaje:
aca va el codigo de la funcion
Select @Rspta=isnull(count(codigo_ruta) ,0)
from boletos b inner join rutas r
on b.origen=r.origen and b.destino=r.destino
where (fechahora_emision between @Fdesde and @Hhasta ) and suma='1' and
docum=@TDoc and nrodocum=@NDoc and r.rut_larga=@TRut --and len(ruc_cli)<>11

"Alejandro Mesa" escribió:

MAbanto,

Que tipo de funcion "inline" o "multi statements"?
Puedes postear el codigo de la funcion?


AMB

"MAbanto" wrote:

> Hola Grupo:
>
> Ante todo quiero agradecerles por las infinitas veces que han dado la
> solución a los problemas que se presentan en mi trabajo... pero como para no
> perder la costumbre por acá que se me presento uno nuevo.
>
> Tengo un select:
> Select isnull(count(codigo_ruta) ,0)
> from boletos b inner join rutas r
> on b.origen=r.origen and b.destino=r.destino
> where (fechahora_emision between @F and @FI ) and suma='1' and
> docum=@tdoc and nrodocum=@ndoc and r.rut_larga='0'
>
> Si bien no tengo un indice para esta consulta ( porq mi tabala Boletos ya
> tiene 7, si le pongo una mas muere al momento de grabar) .. porque si si lo
> ejecutos desde un proc es más rápido que si lo llamo desde una función??? a
> que se puede deber? o que me recomiendan.. lo puse en una función porq la
> llamo desde varios proc.
>
> Gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida