使用视图和存储过程的优缺点

时间:2022-07-12 13:00:25

使用视图和存储过程的优缺点

    –以下内容整理自网络


视图的优点:

 

简单性 
    视图不仅可以简化用户对数据的理解,也可以简化他们的操作,哪些经常使用的查询可以被定义为视图,从而使用户不必为以后的操作每次都指定全部的条件。

 

安全性 
    隐藏数据源,通过视图用户只能查询和修改他们所能见到的数据,数据库中的其它数据则看不见也取不到。

 

逻辑数据独立性 
    视图可以使应用程序和数据库在一定程序上独立。如果没有视图,应用一定是建立在表上。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。

 

方便性
  在多表连接查询时,可以使用视图提高效率

 

视图的缺点:

 

性能差 
    sql server必须把视图查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,sql server也要把它变成一个复杂的结合体,需要花费一定的时间。

 

修改限制
   当用户试图修改试图的某些信息时,sql server必须把它转化为对基本表的某些信息的修改,对于简单的试图来说,这是很方便的,但是,对于比较复杂的试图,可能是不可修改的。

 
存储过程的优点:

 

预编译
    当一个sql语句包含在存储过程中时,服务器不必每次执行它时都要分析和编译它,避免了sql语句在网络中传输然后再解释的低效率问题。

 

修改方便
   直接修改存储过程,方便代码的管理。

 

安全
   不会有sql语句注入问题。

 

可以建立复杂的查询
  可以用存储过程建立非常复杂的查询,以非常复杂的方式更新数据库。

 

可以使用参数
  在存储过程中可以使用参数,可以传送和返回参数。 

 

存储过程的缺点:

 

增加复杂性
    当业务逻辑比较复杂时不建议使用存储过程,这样会增加复杂性。

 

可移植性低
  在不同的数据库平台上很难移植

 

原文