基础——使用视图和存储过程的优缺点
视图:
优点,简单性 视图不仅可以简化用户对数据的理解,也可以简化他们的操作,哪些经常使用的查询可以被定义为视图,从而使用户不必为以后的操作每次都指定全部的条件。
安全性 (隐藏数据源)通过视图用户只能查询和修改他们所能见到的数据,数据库中的其它数据则看不见也取不到。
逻辑数据独立性 视图可以使应用程序和数据库在一定程序上独立。如果没有视图,应用一定是建立在表上。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。
方便性 在多表连接查询时,可以使用视图提高效率
缺点,性能差 sql server必须把视图查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,sql server也要把它变成一个复杂的结合体,需要花费一定的时间。
修改限制 当用户试图修改试图的某些信息时,sql server必须把它转化为对基本表的某些信息的修改,对于简单的试图来说,这是很方便的,但是,对于比较复杂的试图,可能是不可修改的。
—————————————————————————————————————————————————————————————————————————
存储过程:
优点, 预编译 当一个sql语句包含在存储过程中时,服务器不必每次执行它时都要分析和编译它,避免了sql语句在网络中传输然后再解释的低效率问题。
修改方便 直接修改存储过程,方便代码的管理。
安全 不会有sql语句注入问题。
可以建立复杂的查询 可以用存储过程建立非常复杂的查询,以非常复杂的方式更新数据库。
可以使用参数 在存储过程中可以使用参数,可以传送和返回参数。
缺点,增加复杂性 当业务逻辑比较复杂时不建议使用存储过程,这样会增加复杂性。
可移植性低
(以上内容总结自互联网)