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

视图:

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

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

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

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

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

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

 

—————————————————————————————————————————————————————————————————————————

 

存储过程:

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

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

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

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

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

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

   可移植性低

 

以上内容总结自互联网

posted on 2010-03-17 00:41  donliu  阅读(1348)  评论(3编辑  收藏  举报

导航