Rendimiento Vistas x Store Procedures en sql2000

15/09/2005 - 16:52 por Developers | Informe spam
Amigos estoy empezando un nuevo proyecto.. pero mi duda es cual es la mejor
opcion... Usar Vista o Procedimientos Almacenados en los casos que se tenga
que relacionar varias tablas y llamar solo por 1 parametro ó 2 parametros.

Notas.
- algunas son netamente relaciones
- Otras son relacionaciones mas acumulacion (AVG, SUM)
- Otras son Solo una tabla mas acumulacion (AVG,SUM)


espero sus prontos comentarios

Gracias

Developers

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
15/09/2005 - 17:01 | Informe spam
Developers,

Creo que deberias ser un poco mas explicito en tu pregunta.

Las vistas no soportan parametros, los procedimientos almacenados no pueden
ser referenciados desde la clausula "from" de la sentencia "select". Si
necesiats simular una vista con parametros, entonces debes crear una funcion
de usuario que retorne una tabla.


AMB

"Developers" wrote:

Amigos estoy empezando un nuevo proyecto.. pero mi duda es cual es la mejor
opcion... Usar Vista o Procedimientos Almacenados en los casos que se tenga
que relacionar varias tablas y llamar solo por 1 parametro ó 2 parametros.

Notas.
- algunas son netamente relaciones
- Otras son relacionaciones mas acumulacion (AVG, SUM)
- Otras son Solo una tabla mas acumulacion (AVG,SUM)


espero sus prontos comentarios

Gracias

Developers



Respuesta Responder a este mensaje
#2 Developers
15/09/2005 - 18:29 | Informe spam
creo que explique mal

a lo que iba era quien es mas efectivo y que ventajas y desventajas,
en estos casos.

Relacion de dos Tablas en esta vista donde campo4 y campo5 son Sumas

select campo1,campo4,campo5 from miVista where campo1=valor1

Contenido de MiVista
select rs.campo1, sum(rs.campo4) as campo4, sum(rs.campo5) as campo5
from (select campo1,campo4,campo5 from tabla1 where campo1='TTTT'
union all
Select campo1,campo4,campo5 from tabla2 where campo1='TTTT') rs
group by rs.campo1

Contra un Procedure que hace lo mismo :

Exec dbo.LlamaTablas valor1

Contenido del Store Procedure:

Create Procedure dbo.LlamaTablas
@valor1 char(4),
AS
select rs.campo1, sum(rs.campo4) as campo4, sum(rs.campo5) as campo5
from (select campo1,campo4,campo5 from tabla1 where campo1=@valor1
union all
Select campo1,campo4,campo5 from tabla2 where campo1=@valor1) rs
group by rs.campo1

gracias...



"Alejandro Mesa" escribió en el
mensaje news:
Developers,

Creo que deberias ser un poco mas explicito en tu pregunta.

Las vistas no soportan parametros, los procedimientos almacenados no


pueden
ser referenciados desde la clausula "from" de la sentencia "select". Si
necesiats simular una vista con parametros, entonces debes crear una


funcion
de usuario que retorne una tabla.


AMB

"Developers" wrote:

> Amigos estoy empezando un nuevo proyecto.. pero mi duda es cual es la


mejor
> opcion... Usar Vista o Procedimientos Almacenados en los casos que se


tenga
> que relacionar varias tablas y llamar solo por 1 parametro ó 2


parametros.
>
> Notas.
> - algunas son netamente relaciones
> - Otras son relacionaciones mas acumulacion (AVG, SUM)
> - Otras son Solo una tabla mas acumulacion (AVG,SUM)
>
>
> espero sus prontos comentarios
>
> Gracias
>
> Developers
>
>
>
Respuesta Responder a este mensaje
#3 Alejandro Mesa
15/09/2005 - 19:37 | Informe spam
Todo depende desde donde y como ejecutas o referencias cada objeto. Yo
personalmente prefiero usar procedimientos almacenados por muchos motivos
como seguridad, control centralizado del codigo, reuso de planes de
ejecucion, trafico en la red, etc.


AMB

"Developers" wrote:

creo que explique mal

a lo que iba era quien es mas efectivo y que ventajas y desventajas,
en estos casos.

Relacion de dos Tablas en esta vista donde campo4 y campo5 son Sumas

select campo1,campo4,campo5 from miVista where campo1=valor1

Contenido de MiVista
select rs.campo1, sum(rs.campo4) as campo4, sum(rs.campo5) as campo5
from (select campo1,campo4,campo5 from tabla1 where campo1='TTTT'
union all
Select campo1,campo4,campo5 from tabla2 where campo1='TTTT') rs
group by rs.campo1

Contra un Procedure que hace lo mismo :

Exec dbo.LlamaTablas valor1

Contenido del Store Procedure:

Create Procedure dbo.LlamaTablas
@valor1 char(4),
AS
select rs.campo1, sum(rs.campo4) as campo4, sum(rs.campo5) as campo5
from (select campo1,campo4,campo5 from tabla1 where campo1=@valor1
union all
Select campo1,campo4,campo5 from tabla2 where campo1=@valor1) rs
group by rs.campo1

gracias...



"Alejandro Mesa" escribió en el
mensaje news:
> Developers,
>
> Creo que deberias ser un poco mas explicito en tu pregunta.
>
> Las vistas no soportan parametros, los procedimientos almacenados no
pueden
> ser referenciados desde la clausula "from" de la sentencia "select". Si
> necesiats simular una vista con parametros, entonces debes crear una
funcion
> de usuario que retorne una tabla.
>
>
> AMB
>
> "Developers" wrote:
>
> > Amigos estoy empezando un nuevo proyecto.. pero mi duda es cual es la
mejor
> > opcion... Usar Vista o Procedimientos Almacenados en los casos que se
tenga
> > que relacionar varias tablas y llamar solo por 1 parametro ó 2
parametros.
> >
> > Notas.
> > - algunas son netamente relaciones
> > - Otras son relacionaciones mas acumulacion (AVG, SUM)
> > - Otras son Solo una tabla mas acumulacion (AVG,SUM)
> >
> >
> > espero sus prontos comentarios
> >
> > Gracias
> >
> > Developers
> >
> >
> >



Respuesta Responder a este mensaje
#4 Gustavo Larriera [MVP]
17/09/2005 - 02:35 | Informe spam
Considera usar funciones que retornan tablas.

Gustavo Larriera
Uruguay LatAm
Blog: http://sqljunkies.com/weblog/gux/
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
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.
"Developers" wrote in message
news:
Amigos estoy empezando un nuevo proyecto.. pero mi duda es cual es la
mejor
opcion... Usar Vista o Procedimientos Almacenados en los casos que se
tenga
que relacionar varias tablas y llamar solo por 1 parametro ó 2 parametros.

Notas.
- algunas son netamente relaciones
- Otras son relacionaciones mas acumulacion (AVG, SUM)
- Otras son Solo una tabla mas acumulacion (AVG,SUM)


espero sus prontos comentarios

Gracias

Developers


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