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

发布时间:2013-10-28 09:12:08来源:阅读(814)

    视图的优点:

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

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

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

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

    视图的缺点:

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

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


    存储过程的优点:

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

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

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

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

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

    存储过程的缺点:

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

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

关键字