数据库存储过程和视图的概念及不同

1.什么是存储过程,有哪些优缺点?
    存储过程是在大型数据库中,一组为了完成特定功能的SQL语句集,它存储在数据库中,一次编译之后永久生效,用户通过去指定存储过程的名字并给出参数来执行它。
    优点:
        可以重复使用,减少开发人员工作量
        对于网络上的服务器,可以大大减少网络流量,只需要传递存储过程的名称即可,可以替代大量T_SQL语句,降低了网络通信量,提高通信效率
        可以防止用户对表的直接访问,只需要赋予用户存储过程的访问权限
    缺点:
        每个数据库的存储过程语法几乎不一样,不通用且难以维护
        业务逻辑放在数据库上,难以迭代
 
2.什么是视图,视图的应用场景有哪些?
    从一个或多个表导出的虚拟的表,其内容由具体的查询内容定义。视图和普通表的结构相同,但不实现数据的存储。
    从用户视角看,一个视图是从一个特定的角度来查看数据库中的数据;从数据库内部看,一个视图是由SELECT语句组成的查询定义的虚拟表。视图仅可以查,不能增删改。
常用场景:
1.简化操作
    将常用的聚合函数或多表查询这些查询语句放到视图中,简化了操作,每次只要select * from view就可以了。
2.安全性
    只让用户查看部分数据,同时,用户无法对视图进行随意的修改和删除,增加了安全性。
 
3.存储过程和视图的区别?
    目的不同。
    存储过程往往涉及很多的数据处理,是一个复杂的过程,它相当于一个函数可以接受参数,主要用于处理数据;
    视图是把现有数据以新的形式展现出来,最终目的是为了呈现数据。
原文地址:https://www.cnblogs.com/May-study/p/11399713.html