Duda con las vistas.

20/11/2003 - 15:11 por chele | Informe spam
Buenas, tengo esta duda, yo cuando tengo que vincular 4 o mas tablas en sql
server pues me creo una vista ahi las vinculo y despues en la sentencia sql
solo llamo a la vista y aqui mismo envio los parametros y demas.

¿Que es mejor crear la vista o hacer la vinculacion via codigo?

Es que no se que es mejor en rendimiento venga un saludo

Preguntas similare

Leer las respuestas

#1 Accotto Maximiliano D.
20/11/2003 - 15:21 | Informe spam
mira te dire mi opinion y experciencia.

Una vista para mi tiene miles de ventajas pero creo q las mas importantes
son:

1) mas simple el codigo para consultas (select * from vista where)
2)Moder encapsular varias cosas y por ej si deseas q un campo no se traiga
lo podes hacer.
3)Si el dia se mañana queres q la vista traiga un campo mas solo basta con
cambiarla y listo, si tu select era * (ya se vera reflejado sin tocar mas
nada)

Pero para redondiar, creo q las vistas son una de las herramientas mas
hermosas de las BDD (simplifican mucho la tarea y el mantenimiento en
algunos casos)

Te doy un caso mio:

Tenemos un soft ERP q realiza programacion finita de produccion bajo DBR y
TOC (son teorias de un Guru llamado Goldratt) bien!!

Aca desarrollamos varias herramientas q extraen datos para luego hacer el
analisis via Excel por ej:

Entonces hay una consulta q se insume unas 15 tablas mas o menos (ni hablar
de campos y todo ello)

Pues bien el uso de una vista nos simplifico todo, si quiero agregar un
campo,cambiarlo o lo q sea solo modifico la vista y los programas q estuve
haciendo como hacen select * from vista no sufren modificaciones

Asi q no tengas miedo en usarlas!!

Un saludo enorme


Maximiliano Damian Accotto
Fundicion San Cayetano S.A
4002 - 4010
Gerente de Sistemas
[]
"chele" escribió en el mensaje
news:
Buenas, tengo esta duda, yo cuando tengo que vincular 4 o mas tablas en


sql
server pues me creo una vista ahi las vinculo y despues en la sentencia


sql
solo llamo a la vista y aqui mismo envio los parametros y demas.

¿Que es mejor crear la vista o hacer la vinculacion via codigo?

Es que no se que es mejor en rendimiento venga un saludo


Respuesta Responder a este mensaje
#2 ulises
20/11/2003 - 15:47 | Informe spam
Creo que las ventajas sobre el uso de las vistas ya te lo
indicó Maximiliano, pero respondiendo a tu pregunta, desde
el punto de vista de rendimiento, la vista siempre es más
lento que usar los SELECT ya que hay un trabajo extra de
lectura de los system tables para la definición de la
vista (no he hecho la prueba como mejora o empeora esto
cuando se tienen vistas indexadas), pero como siempre
tendrás que sacrificar rendimiento en aras de simplicidad,
ahora bien la alternativa de tener tablas bien indexadas y
realizar la selección a través de storeprocedures en lugar
de la vistas tal vez podría ser una alternativa de mejor
rendimiento.

Saludos,
Ulises


Buenas, tengo esta duda, yo cuando tengo que vincular 4 o


mas tablas en sql
server pues me creo una vista ahi las vinculo y despues


en la sentencia sql
solo llamo a la vista y aqui mismo envio los parametros y


demas.

¿Que es mejor crear la vista o hacer la vinculacion via


codigo?

Es que no se que es mejor en rendimiento venga un


saludo
Respuesta Responder a este mensaje
#3 chele
20/11/2003 - 17:00 | Informe spam
Gracias :) me habeis aclarado esta duda.


"chele" escribió en el mensaje
news:
Buenas, tengo esta duda, yo cuando tengo que vincular 4 o mas tablas en


sql
server pues me creo una vista ahi las vinculo y despues en la sentencia


sql
solo llamo a la vista y aqui mismo envio los parametros y demas.

¿Que es mejor crear la vista o hacer la vinculacion via codigo?

Es que no se que es mejor en rendimiento venga un saludo


Respuesta Responder a este mensaje
#4 Miguel Egea
20/11/2003 - 19:04 | Informe spam
Mucho ojo con las vistas, creo que lo he dicho dos veces hoy, pero aún a
riesgo de parecer un pesado, Sql entiende bien las instrucciones por
complejas que nos parezcan a nosotros, si además es muy compleja, mejor en
una udf (escalar o tabla) o en un procedimiento. El riesgo que yo he visto
'en pro de la legilidad' es que acaban usandose vistas en subselect de
subselect y esto impide al optimizador de consultas hacer su trabajo.

Sin embargo, las vistas indexadas, suponen una mejora impresionante de
rendimiento por ejemplo para acumulados, aunque, generan algunos problemas
en las inserciones si los comandos SET con el que se compliaron algunos
procedimientos almacenados no fueron los adecuados (basta ejecutar alter
proc con las opciones correctas).

En resumen, como siempre, si están es para usarse, pero con moderación y
sabiendo lo que supone para el rendimiento.


Saludos

Miguel Egea
Microsoft SQL-SERVER MVP
Brigada Anti-Cursores

"chele" escribió en el mensaje
news:#H$
Gracias :) me habeis aclarado esta duda.


"chele" escribió en el mensaje
news:
> Buenas, tengo esta duda, yo cuando tengo que vincular 4 o mas tablas en
sql
> server pues me creo una vista ahi las vinculo y despues en la sentencia
sql
> solo llamo a la vista y aqui mismo envio los parametros y demas.
>
> ¿Que es mejor crear la vista o hacer la vinculacion via codigo?
>
> Es que no se que es mejor en rendimiento venga un saludo
>
>


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