我们正在一个新项目的开始,我们真的想知道我们是否应该在MySQL中使用存储过程。我们将仅使用存储过程来插入和更新业务模型实体。有几个表代表一个模型实体,我们将在那些存储过程的插入/更新中对其进行抽象。另一方面,我们可以从Model层调用插入和更新,但是不能在MySQL中,而是在PHP中。根据您的经验,哪个是最佳选择?两种方法的优点和缺点。就高性能而言,哪个是最快的?PS:这是一个大多数阅读的Web项目,而高性能是最重要的要求。
3 回答
函数式编程
TA贡献1807条经验 获得超9个赞
与编程代码不同,它们:
使得SQL注入攻击几乎是不可能的(除非您正在 从过程内部
构造和执行动态
SQL)作为标注的一部分,要求通过IPC发送的数据少得多
使数据库能够获得更好的缓存计划和结果集(由于其内部缓存结构,这在MySQL中显然不那么有效)
可以很容易地进行隔离测试(即不作为JUnit测试的一部分)
在它们允许您使用特定于数据库的功能的意义上是可移植的,这些功能被抽象在过程名称之后(在代码中,您陷入了通用SQL类型的东西)
几乎永远不会比从代码调用的SQL慢
但是,正如波西米亚人所说,它也有很多弊端(这只是提供了另一个观点)。在决定最适合自己的东西之前,您可能必须先进行基准测试。
添加回答
举报
0/150
提交
取消