hur.cn - 华软网

 热门搜索

存储过程的最大好处是什么?

  作者:未知    来源:网络    更新时间:2019/4/16
存储进程的最大利益是什么?
------华软网友回答------
开发和执行效率,还具有最高条理的复用性,能够适用于连接该数据库的所有项目。
------华软网友回复------
执行存储进程相当于编译执行,而普通的SQL语句调用则相当于解释执行

利益一大把.
------华软网友回复------
但不利于维护。
------华软网友回复------
存储进程的执行都是在服务器上举行,节约网络开销。
------华软网友回复------
怎么不利于维护?
直接改存储进程,就可对数据生成修改
免获得各个客户机上更新程序,麻烦!
------华软网友回复------
多谢诸位!
------华软网友回复------
运用 SQL Server 中的存储进程而不运用存储在客户计算机当地的 Transact-SQL 程序的优势有: 

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

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

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

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


------华软网友回复------
感觉集成对照好,业务措置惩罚清晰,复用性不错,客户端程序也能够对照简约。
------华软网友回复------
运用存储进程的应用程序具有下列优点:
A减少了客户机与服务器之间的网络运用率
客户机应用程序将控制权传送到数据库服务器上的存储进程。存储进程在数据库服务器上执行中间措置惩罚,而不需要在网络中传送不需要的数据。将只传送客户机应用程序真正需要的记录。运用存储进程能够减少网络运用率并获得更好的总体性能。 
一次执行一个 SQL 语句的应用程序通常在执行每一个 SQL 语句都要跨网络两次。存储进程能够将 SQL 语句集中在一起,进而使得对于每一组 SQL 语句只需要跨网络两次。在存储进程中集中在一起的 SQL 语句越多,网络的运用率和数据库锁定坚持的时间就越低。通过减少网络运用率和数据库锁定的时间长短,就能够提高网络的总体性能并减少锁定争用问题。

然则,措置惩罚大批 SQL 生成的数据但只向用户显示一部份数据的应用程序可能会使网络运用率太高,由于在举行最终措置惩罚之前所有数据都将前往到客户机。存储进程能够在服务器上举行措置惩罚而且只将必需的数据传送给客户机,进而减少了网络的运用率。

增强了硬件和软件功能
运用存储进程的应用程序对服务器上增加的内存和磁盘空间具有存取权。这些应用程序还对只装置在数据库服务器上的软件具有存取权。能够在具有足够内存和措置惩罚器的机器之间散发可执行的业务逻辑。
提高了平安性
通过使运用静态 SQL 的存储进程包括数据库特权,数据库管理员(DBA)能够提高平安性。构建存储进程的 DBA 或开发者必需具有存储进程需要的数据库特权。调用存储进程的客户机应用程序的用户不需要此类特权。这能够减少需要特权的用户数。
减少了开发成本而且提高了可靠性
在数据库应用程序环境中,许多任务是重复的。重复任务可能包括:前往固定的一组数据,或对数据库执行相同的多个请求。通太重用一个公共进程,存储进程就能够高效地解决这些重复情况。
集中措置惩罚公共例程的平安性、管理和维护
通过在服务器上的某个位置管理共享逻辑,就能够简化平安性、管理和维护。客户机应用程序能够调用一些存储进程,这些存储进程运行需要很少措置惩罚或不需要附加措置惩罚的 SQL 查询。

------华软网友回复------
对于庞大的对照复杂的项目应用一般都用到存储进程.
这类开发交给数据库开发工程师完成.程序中就能够少用对照复杂的SQL语句.(有一些业务流程单纯的SQL语句也是不可能实现的)

------华软网友回复------
多谢lutao050306() 讲得这么详细!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。