日期:2014-05-18  浏览次数:20568 次

存储过程与视图,区别,用法?
随着对存储过程学习。我发现很多用select选出来的存储过程都能够用视图来实现,
我想问下,那我到底是用存储过程好,还是用试图好呢?请各位不吝赐教?

------解决方案--------------------
存儲過程可以接收參數, 返回參數
------解决方案--------------------
应该说的就是视图能做的存储过程都能做,但视图只能运用到select,如果现在想在学这两种过程中选择的话,还是推荐存储过程,只要学会更难的你接很容易接受一般难度的
------解决方案--------------------
视图是用来 看的 .
存储过程是用来交互的 .

这就好比一个静的,一个是 动的.

如果需要交互,当然是存储过程.如果仅仅是显示结果,那就用视图.

如果一定要比较同时是显示的结果,我记得有人说存储过程比试图快.但是视图维护更简单和灵活.

所以一般来讲:静的用视图 ,动的用存储过程.
------解决方案--------------------
视图只不过是存储在sql server上的select语句罢了,当对视图请求时,sql server会像执行一句普通的select语句那样的执行视图的select语句,它的性能并不像人们想象得那么出色。
而存储过程在编译后可以生成执行计划,这使得每次执行存储过程的时候效率将会更高,这是存储过程,另外台提交参数的时候,使用存储过程将会减少网络带宽流量,这是存储过程相对于普通的sql语句在性能上的最大的优势。
当然,从sql server2000/7.0版本开始普通的sql查询在执行后,它的执行计划将会被放入缓存中,以便下次执行的时候能够获得较高的性能,但是很久不使用的查询计划将会从高速缓存清理出去。
总之,从性能上来说存储过程要优于视图。
------解决方案--------------------
我也觉得理解的更好了。非常感谢个位耐心的解释,特别是 TienBao() 和smart_zcg()