数据库系统中存储过程的使用问题!

zwjchina 2005-01-15 01:29:02
意见一、尽量减少使用存储过程,能不用最好
意见二、尽量减多使用存储过程

您认为哪个意见好?为什么?
^^^^^^
...全文
180 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
dyf2001 2005-01-16
  • 打赏
  • 举报
回复
我推荐使用,特别是修改逻辑不用重新编译前台程序。
look123456789 2005-01-16
  • 打赏
  • 举报
回复
用存储过程,利大于弊。
用多了你就会喜欢上它了
Hozaka 2005-01-16
  • 打赏
  • 举报
回复
存储过程也是由基本的sql语句组成的,执行效率跟同等的sql语句不会有本质上的区别。

-----------------------------------------------

存储过程是预编译的单元,在执行效率上跟同等的 T-SQL 语句差太多了!而 SQL SERVER 里的视图不是预编译的,所以效率跟 SQL 语句一样。
smiler007 2005-01-15
  • 打赏
  • 举报
回复
用存储过程的好处楼上的也说了,我支持用!可以很好的利用服务器的性能...
zwjchina 2005-01-15
  • 打赏
  • 举报
回复
还有没有什么看法???
  • 打赏
  • 举报
回复
对于需要大量相同操作的内容,还有就有很多客户端用户的系统来说,我用存储过程做,感觉很好,对于客户端的维护大大简化了,因为有时只需对存储过程进行修改就行了
zwjchina 2005-01-15
  • 打赏
  • 举报
回复
请继续!!!
hthunter 2005-01-15
  • 打赏
  • 举报
回复
回复人: muleo(木渔) ( ) 信誉:96 2005-1-15 14:02:56 得分: 0



存储过程用多了对数据库的性能有影响.

*************************************

第一次听说这样的观点。
那照你的观点,是什么都不要做才是对数据库的性能没有影响的。



存储过程也是由基本的sql语句组成的,执行效率跟同等的sql语句不会有本质上的区别。

存储过程是数据操作过程化的手段,是实现数据与界面分离的很有效的手段之一,从而增强系统的可维护性。但是也在一定程度上会把系统的设计意图和逻辑暴露在外面。

但总的来说利大于弊。
gechaosa 2005-01-15
  • 打赏
  • 举报
回复
系统的安全性,造移,升级,都不是很好,

terrytzq 2005-01-15
  • 打赏
  • 举报
回复
学习
chinaandys 2005-01-15
  • 打赏
  • 举报
回复
还有就是服务器的性能问题。好的服务器,处理存储过程会更好些。再加上SQL SERVER服务器本身都具有自优化过程。



总之,对于用存储过程,利是远大于弊了。。。
muleo 2005-01-15
  • 打赏
  • 举报
回复
存储过程用多了对数据库的性能有影响.
chinaandys 2005-01-15
  • 打赏
  • 举报
回复
而存储过程所不足之处,在于管理、以及移植、升级、安全性。这些都需要程序员对其注译、权限。。。

总之,对于用存储过程,利是远大于弊了。。。


听一听,楼下各位仁兄
chinaandys 2005-01-15
  • 打赏
  • 举报
回复
如果你的查询语句中含有过滤条件,用与不用存储过程表现很明显.

存储过程优点是减少网络流量,提高查询速度.
//引用 海洋空调:

用存儲過程的好處


使用 SQL Server 中的存储过程而不使用存储在客户计算机本地的 Transact-SQL 程序的优势有:

允许模块化程序设计。
只需创建过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序源代码而单独修改。

允许更快执行。
如果某操作需要大量 Transact-SQL 代码或需重复执行,存储过程将比 Transact-SQL 批代码的执行要快。将在创建存储过程时对其进行分析和优化,并可在首次执行该过程后使用该过程的内存中版本。每次运行 Transact-SQL 语句时,都要从客户端重复发送,并且在 SQL Server 每次执行这些语句时,都要对其进行编译和优化。

减少网络流量。
一个需要数百行 Transact-SQL 代码的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数百行代码。

可作为安全机制使用。
即使对于没有直接执行存储过程中语句的权限的用户,也可授予他们执行该存储过程的权限。

SQL Server 存储过程是用 Transact-SQL 语句 CREATE PROCEDURE 创建的,并可用 ALTER PROCEDURE 语句进行修改。存储过程定义包含两个主要组成部分:过程名称及其参数的说明,以及过程的主体(其中包含执行过程操作的 Transact-SQL 语句)。


1、存储过程是用户写好后编译好的过程,调用的时候直接调用就行了,减少了编译的时间。
2、存储过程直接存在服务器上,减少了客户端与服务端的传输过程。
3、可以直接调用,很方便,可以重复使用,而不需要知道内部是怎么做的。
4、安全性,这样用也增加了安全性。

老本 2005-01-15
  • 打赏
  • 举报
回复
如果基本不考虑数据库的选型变化,就建议多用。
web700 2005-01-15
  • 打赏
  • 举报
回复
会用就多用点罢
monkely 2005-01-15
  • 打赏
  • 举报
回复
关注
chinaandys 2005-01-15
  • 打赏
  • 举报
回复
看来楼主不知道存储过程的优点
zwjchina 2005-01-15
  • 打赏
  • 举报
回复
意见一、尽量减少使用存储过程,能不用最好
意见二、尽量多使用存储过程

您认为哪个意见好?为什么?
^^^^^^

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧