MySQL存储过程使用还是不使用它们

我们正在一个新项目的开始,我们真的想知道我们是否应该在MySQL中使用存储过程。


我们将仅使用存储过程来插入和更新业务模型实体。有几个表代表一个模型实体,我们将在那些存储过程的插入/更新中对其进行抽象。


另一方面,我们可以从Model层调用插入和更新,但是不能在MySQL中,而是在PHP中。


根据您的经验,哪个是最佳选择?两种方法的优点和缺点。就高性能而言,哪个是最快的?


PS:这是一个大多数阅读的Web项目,而高性能是最重要的要求。


慕尼黑的夜晚无繁华
浏览 1270回答 3
3回答

函数式编程

与编程代码不同,它们:使得SQL注入攻击几乎是不可能的(除非您正在 从过程内部构造和执行动态SQL)作为标注的一部分,要求通过IPC发送的数据少得多使数据库能够获得更好的缓存计划和结果集(由于其内部缓存结构,这在MySQL中显然不那么有效)可以很容易地进行隔离测试(即不作为JUnit测试的一部分)在它们允许您使用特定于数据库的功能的意义上是可移植的,这些功能被抽象在过程名称之后(在代码中,您陷入了通用SQL类型的东西)几乎永远不会比从代码调用的SQL慢但是,正如波西米亚人所说,它也有很多弊端(这只是提供了另一个观点)。在决定最适合自己的东西之前,您可能必须先进行基准测试。
打开App,查看更多内容
随时随地看视频慕课网APP