存储过程的性能如何?是否值得使用它们,而不是在PHP/MySQL调用中实现复杂的查询?
发布于 2009-07-21 02:54:37
存储过程将给您带来小小的性能提升,但它们主要用于执行使用简单查询难以或不可能完成的任务。存储过程对于简化许多不同类型客户端的数据访问非常有用。数据库管理员喜欢它们,因为它们控制数据库的使用方式,而不是将这些细节留给开发人员。
注意索引和适当的表设计,以获得更好的性能。
发布于 2011-10-05 01:14:07
天哪,我不喜欢有人读到这些答案,然后得到错误的印象。在"MySQL“和"SQL server/Oracle”上的“随心所欲存储”实现之间有一些非常重要的区别。
请参阅:http://www.joinfu.com/2010/05/mysql-stored-procedures-aint-all-that/
每个提出这个问题的人都会对MySQL的存储过程实现做一些假设;他们错误地认为存储过程是编译并存储在全局存储过程缓存中的,这与Microsoft SQL Server1或Oracle2中的存储过程缓存类似。
这是错误的。完全不正确。
事实是:到MySQL服务器的每个连接都维护着它自己的存储过程缓存。
花一分钟时间阅读文章的其余部分和评论。这篇文章很简短,你会对问题有更好的理解。
发布于 2009-07-20 00:21:45
正如我在JohnFX之前的回答中指出的那样:
“存储过程的性能优势是值得怀疑的,充其量也是微乎其微的。
http://statestreetgang.net/post/2008/04/My-Statement-on-Stored-Procedures.aspx
http://betav.com/blog/billva/2006/05/are_stored_procedures_faster_t.html
好好享受吧。
https://stackoverflow.com/questions/1151255
复制相似问题