当前位置:  开发笔记 > 编程语言 > 正文

在php/mysql世界中存储过程是否禁止?

如何解决《在php/mysql世界中存储过程是否禁止?》经验,为你挑选了4个好方法。

我引用了我收到的另一个问题的部分回答:

在PHP/MySQL世界中,我会说存储过程是不行的

我想知道:是这样吗?为什么?为什么不?

[编辑]我的意思是这是一个没有特定需要的一般性问题[/ edit]



1> Devon..:

我开发并维护一个大型的PHP/MySQL应用程序.这是我对存储过程的体验.

随着时间的推移,我们的应用变得非常复 有了php方面的所有逻辑,一些操作将使用100多个简短查询查询数据库.

MySQL非常快,性能仍然可以接受,但不是很好.

我们在最新版本的软件中做出决定,将一些逻辑移至存储过程以进行复杂操作.

我们确实取得了显着的性能提升,因为我们不必在PHP和MySQL之间来回发送数据.

我同意这里的其他海报,PL/SQL不是现代语言,很难调试.

底线:存储过程对于某些情况是一个很好的工具.但除非你有充分的理由,否则我不建议使用它们.对于简单的应用程序,存储过程不值得麻烦.



2> 小智..:

在MySQL中使用存储过程时,通常需要在PHP中使用mysqli接口而不是常规的mysql接口.

造成这种情况的原因是存储过程通常会返回多于1个结果集.如果是这样,mysql API无法处理它,你会得到错误.

mysqli接口具有处理这些多个结果集的功能,例如mysqli_more_results和mysqli_next_result等功能.

请记住,如果从存储过程中返回任何结果集,则需要使用这些API,因为存储过程为实际执行生成1个结果集,然后为每个有意返回的结果集添加1个结果集.存储过程.



3> auramo..:

您是否有特定的需求让您考虑它们?存储过程比"普通"SQL更不便携,这通常是人们不想使用它们的原因.另外,在编写了PL/SQL的公平份额之后,我必须说编写代码的程序方式增加了复杂性,而且它不是非常现代或可测试的.在一些需要优化的特殊情况下,它们可能很方便,但我当然会三思而后行.杰夫有类似的意见.



4> Brent..:

我通常远离存储过程,因为它增加了数据库的负载,这是99%的时间,这是你最大的瓶颈.与使MySQL数据库复制相比,添加新的php服务器无关紧要.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有