none
Procedimientos Almacenados O Vistas RRS feed

  • Pregunta

  • SQL Server 2008 R2 | 2012

    Hola a todos

    En un Sistema De Información para efectuar Consultas algunos prefieren trabajar con Vistas y otros con Procedimientos Almacenados (que quedan compilados en la Base De Datos)

    En función del Rendimiento, Velocidad de Procesamiento, Seguridad, etc...

    1° ¿Es más óptimo o adecuado trabajar con Vistas o con Parámetros?

    Desde ya Muchísimas Gracias


    Skar.2007

    miércoles, 14 de junio de 2017 2:57

Respuestas

Todas las respuestas

  • Skar.2007

    Los parámetros que le enviarás a un procedimiento almacenado van a variar  a diferencia de las vistas que no serán parámetros si no condiciones fijas que estabelecerás al momento de la creación de la vista.

    Por ejemplo creamos una vista que me liste los alumnos que tengan mas de 15 años:

    Create view Alumnos
    As
    Select * From Alumnos
    Where Edad > 15

    A diferencia de un procedimiento almacenado que probablemente desees no solo ver los de 15, si no los de n edades:

    Create Procedure Alumnos
    @edad int
    As
    Select * From Alumnos
    Where Edad > @edad -- edad puede ser 1,2,3,4,5,6,7,8 ... etc

    Si crees que será fijo entonces utiliza Vistas, de lo contrario procedimientos almacenados. En cuanto a performance, va a predominar que tan buena practica utilices en cada clausula que intervenga en el objeto que desarrolles.

    Ojo, esto es un ejemplo simple, ya que si buscas más funcionalidad -por ejemplo transacciones- es lógico que el procedimiento almacenado sin duda alguna será de utilidad.

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    miércoles, 14 de junio de 2017 3:08
  • Saludos.

    Este tema fue tratado en el siguiente foro y mencionan las diferencias, a nivel de rendimiento es mas factible lanzar Procedimientos almacenados.

    Vista o Procedimiento Almacenado?

    Espero sea lo que buscas.

    miércoles, 14 de junio de 2017 3:54
  • Hola @Skar.2007

    Con respecto a tu pregunta.

    Vista, se puede considerar una tabla virtual o una consulta almacenada que devuelve un conjunto de resultados y a la que se le pone un nombre, pero que no almacena datos físicamente.

    Store Procedure, al ejecutar un store ya queda grabado en la cache, acepta el uso de parámetros, tiene una mejor performace con respecto a una vista.

     


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú


    miércoles, 14 de junio de 2017 6:09
  • Lo unico que aceleraria es usar vistas indizadas.
    miércoles, 14 de junio de 2017 22:53
  • Deleted
    jueves, 15 de junio de 2017 22:12
  • Deleted
    jueves, 15 de junio de 2017 22:16