视图和存储过程的缺点是什么? 请问视图和存储过程的缺点是什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 个人观点:在sql语句比较简单,而且没有什么逻辑关系和不是非常需要MSSQL机制做优化的时候,尽量不要用存储过程,直接写SQL的速度与存储过程的速度大概是相同的。视图方面还不怎么清楚请下面的人回答 存储过程的效率肯定比直接写SQL的快得多而且真正的做到了代码重用...但如果考虑数据库移植问题的话存储过程太多显然移植性降低 不同意jetdw的说法存储过程是被编译过的,以二进制保存。SQL语句,每次执行,都要先编译,效率明显下降。你在本地,两者区别不大,如果是网络访问,存储过程很较少网络流量 从平台的移植性来讲,存储过程不好,例如:由mssql 移植到Oracle,所有的脚本都是要重新写,挺麻烦的 楼上所甚是,视图及存储过程在移植时会有很多问题,而且很难检查出来,而且MSSQL与ACCESS之间的视图也有很多写法是不同的。再是会增加数据库结构的复杂度。在一开始设计时,会逐渐增加不同的新增、修改、查询及其他功能的视图和存储过程,但每做一步,或多或少对以前的视图和存储过程都有新的要求,要么新建,要么修改。如果系统功能宽大,在数据库里就会存在比基础表多好几倍的视图或存储过程,也会出现视图嵌套视图的情况,对今后的维护和修改增加了复杂度。然后存储过程等是直接运行在database server上的,不必要的视图和存储过程也会影响服务器的资源消耗。以前的公司的老大就一再要求不要用视图等,说直接在程序里写SQL会更快。在以团队来设计时,对数据库的设计和修改都有很多要求,也不允许随便修改数据库结构,包括视图和存储过程。所以一般视图都尽量用SQL来替代。 join 和等值select 有什么区别? 一个更新语句如何写? SQL语句问题 昨天笔试了一个存储过程的问题,请大家帮忙,在线等 求一比较难写的SQL语句!!! 文本内容能直接导入到数据库作为记录吗?(急) 在C:\Program Files\Microsoft SQL Server\MSSQL\Binn 下面找不到textcopy.exe啊! exec 后面加的不是存储过程是什么意思啊? sp_xml_perparedocument 不支持中文? ?????? 以树状排序的查询语句 求一SQL,在线等。。。。。。。。。。。。。。。。。。。。。
在sql语句比较简单,而且没有什么逻辑关系和不是非常需要MSSQL机制做优化的时候,尽量不要用存储过程,直接写SQL的速度与存储过程的速度大概是相同的。
视图方面还不怎么清楚
请下面的人回答
而且真正的做到了代码重用...但如果考虑数据库移植问题的话
存储过程太多显然移植性降低
再是会增加数据库结构的复杂度。在一开始设计时,会逐渐增加不同的新增、修改、查询及其他功能的视图和存储过程,但每做一步,或多或少对以前的视图和存储过程都有新的要求,要么新建,要么修改。如果系统功能宽大,在数据库里就会存在比基础表多好几倍的视图或存储过程,也会出现视图嵌套视图的情况,对今后的维护和修改增加了复杂度。
然后存储过程等是直接运行在database server上的,不必要的视图和存储过程也会影响服务器的资源消耗。以前的公司的老大就一再要求不要用视图等,说直接在程序里写SQL会更快。
在以团队来设计时,对数据库的设计和修改都有很多要求,也不允许随便修改数据库结构,包括视图和存储过程。所以一般视图都尽量用SQL来替代。