社区
数据库相关
帖子详情
存储过程的最大好处是什么?
Nwing
2006-08-23 04:04:28
存储过程的最大好处是什么?
...全文
477
11
打赏
收藏
存储过程的最大好处是什么?
存储过程的最大好处是什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lutao050306
2007-02-15
打赏
举报
回复
对于大型的比较复杂的项目应用一般都用到存储过程.
这种开发交给数据库开发工程师完成.程序中就可以少用比较复杂的SQL语句.(有一些业务流程单纯的SQL语句也是不可能实现的)
lutao050306
2007-02-15
打赏
举报
回复
使用存储过程的应用程序具有下列优点:
A减少了客户机与服务器之间的网络使用率
客户机应用程序将控制权传送到数据库服务器上的存储过程。存储过程在数据库服务器上执行中间处理,而不需要在网络中传送不需要的数据。将只传送客户机应用程序真正需要的记录。使用存储过程能够减少网络使用率并获得更好的总体性能。
一次执行一个 SQL 语句的应用程序通常在执行每个 SQL 语句都要跨网络两次。存储过程可以将 SQL 语句集中在一起,从而使得对于每一组 SQL 语句只需要跨网络两次。在存储过程中集中在一起的 SQL 语句越多,网络的使用率和数据库锁定保持的时间就越低。通过减少网络使用率和数据库锁定的时间长短,就可以提高网络的总体性能并减少锁定争用问题。
但是,处理大量 SQL 生成的数据但只向用户显示一部分数据的应用程序可能会使网络使用率过高,因为在进行最终处理之前所有数据都将返回到客户机。存储过程可以在服务器上进行处理并且只将必需的数据传送给客户机,从而减少了网络的使用率。
增强了硬件和软件功能
使用存储过程的应用程序对服务器上增加的内存和磁盘空间具有存取权。这些应用程序还对只安装在数据库服务器上的软件具有存取权。可以在具有足够内存和处理器的机器之间分发可执行的业务逻辑。
提高了安全性
通过使使用静态 SQL 的存储过程包含数据库特权,数据库管理员(DBA)可以提高安全性。构建存储过程的 DBA 或开发者必须具有存储过程需要的数据库特权。调用存储过程的客户机应用程序的用户不需要此类特权。这可以减少需要特权的用户数。
减少了开发成本并且提高了可靠性
在数据库应用程序环境中,许多任务是重复的。重复任务可能包括:返回固定的一组数据,或者对数据库执行相同的多个请求。通过重用一个公共过程,存储过程就可以高效地解决这些重复情况。
集中处理公共例程的安全性、管理和维护
通过在服务器上的某个位置管理共享逻辑,就可以简化安全性、管理和维护。客户机应用程序可以调用一些存储过程,这些存储过程运行需要很少处理或者不需要附加处理的 SQL 查询。
Nwing
2007-02-15
打赏
举报
回复
多谢lutao050306() 讲得这么详细!
圣殿骑士18
2006-08-23
打赏
举报
回复
感觉集成比较好,业务处理清晰,复用性不错,客户端程序也可以比较简约。
Nwings
2006-08-23
打赏
举报
回复
使用 SQL Server 中的存储过程而不使用存储在客户计算机本地的 Transact-SQL 程序的优势有:
允许模块化程序设计。
只需创建过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序源代码而单独修改。
允许更快执行。
如果某操作需要大量 Transact-SQL 代码或需重复执行,存储过程将比 Transact-SQL 批代码的执行要快。将在创建存储过程时对其进行分析和优化,并可在首次执行该过程后使用该过程的内存中版本。每次运行 Transact-SQL 语句时,都要从客户端重复发送,并且在 SQL Server 每次执行这些语句时,都要对其进行编译和优化。
减少网络流量。
一个需要数百行 Transact-SQL 代码的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数百行代码。
可作为安全机制使用。
即使对于没有直接执行存储过程中语句的权限的用户,也可授予他们执行该存储过程的权限。
Nwing
2006-08-23
打赏
举报
回复
多谢诸位!
Nwings
2006-08-23
打赏
举报
回复
怎么不利于维护?
直接改存储过程,就可对数据生成修改
免得到各个客户机上更新程序,麻烦!
gjz_1209
2006-08-23
打赏
举报
回复
存储过程的执行都是在服务器上进行,节约网络开销。
polestarxu
2006-08-23
打赏
举报
回复
但不利于维护。
Nwings
2006-08-23
打赏
举报
回复
执行存储过程相当于编译执行,而普通的SQL语句调用则相当于解释执行
好处一大把.
Nwings
2006-08-23
打赏
举报
回复
高开发和执行效率,还具有最高层次的复用性,可以适用于连接该数据库的所有项目。
数据库篇(二)——什么是
存储过程
?有哪些优缺点?
存储过程
就是一些编译好了的SQL语句,这些SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后给这些代码块取一个名字,在用到这个功能的时候调用即可。
存储过程
详解参考: ...
什么是
存储过程
什么是
存储过程
:
存储过程
可以说是一个记录集吧,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候...
人工智能训练数据如何存储?存储数据
最大
的痛点是什么?
计算机视觉,或者语音识别都需要用到大量的标注过的非结构化数据,有什么好办法存储和管理这些数据吗?你是怎么存储原始数据和标签数据的呢?如何做可视化?
存储过程
中的痛点是什么? ...
什么时候使用
存储过程
比较适合?
存储过程
(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定
存储过程
的名字并给出参数(如果该
存储过程
带有参数)...
存储过程
的优缺点
前段时间,在维护公司的几年前的一个项目,虽说不上是历史悠久,但也有些年头了,采用三层架构,加上
存储过程
的这么一个老的架构,本来这个架构也没什么问题,大部分系统都是这么干的,但是由于这个系统
存储过程
被...
数据库相关
752
社区成员
12,763
社区内容
发帖
与我相关
我的任务
数据库相关
PowerBuilder 数据库相关
复制链接
扫一扫
分享
社区描述
PowerBuilder 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章