它们对数据库管理员以外的任何内容都有用吗?如果我理解正确,它只是可以直接保存到MySQL中的查询,因此任何Web开发团队都无法使用它们.
Rob*_*vey 11
存储过程是在数据库服务器上运行的代码.
它们有很多用途.想一想:如果我可以直接在数据库服务器上运行代码,我可以用它做什么?
在它们的许多用途中,存储过程可用于将一些处理负载转移到数据库服务器,以减少网络流量并提高安全性.
http://en.wikipedia.org/wiki/Stored_procedure
以下是其他答案中未涉及的两个优点,简单优点:
添加
它们还可以减少网络抖动.如果您要运行许多复杂的wueries,您可以将它们全部放在一个存储过程中,并且您的应用程序只需要拨打一个电话即可完成所有工作.
此外,在大多数平台中,存储过程具有性能优势.例如,在SQL Server中,数据库引擎优化并保存执行计划以加快速度.这些链接也回答了你的问题:
http://blog.sqlauthority.com/2007/04/13/sql-server-stored-procedures-advantages-and-best-advantage/
http://searchsqlserver.techtarget.com/news/1052737/Why-use-stored-procedures
我不能赞同这个答案,但我认为这个引用是一个很好的观点,尽管我认为自己在方程式的两个方面都非常熟练 - 有专门的知识可以说.
优点4:存储过程通常由数据库开发人员/管理员编写.拥有这些角色的人通常在编写高效查询和SQL语句方面经验丰富.这使GUI应用程序开发人员可以利用他们在应用程序的功能和图形表示部分上的技能.如果您让人们执行他们最适合的任务,那么您最终将产生更好的整体应用程序.